MVC中的分部视图

时间:2023-03-10 04:20:06
MVC中的分部视图

背景:

项目的工期马上就要到了,由于后台封装的很好,我们只需要用心熟悉框架,接下来后台的工作就是简单的代码工作了。原本以为最困难的时期已经过去,可没想到前台才是最困难的。

B/S的基础十分薄弱,加上BS的项目做得少,遇到困难是避免不了的。霞姐说要界面灵活,那种在html里加onclick的时代已经过去。今天就来说说界面灵活之一——分部视图和Razor语法。

分部视图:

在一定程度上,分部视图与用户控件十分类似。他们都可以提高内容或代码的可重用性,但不同之处是,分部视图不需要使用ViewState、PostBacks, and Events 等技术管理状态。分部视图与普通视图的语法没有区别。

优点:

1)简单

2)可重用

3)分工合作

首先,创建一个分部视图。在项目中右键——添加视图,如图:

MVC中的分部视图

在介绍分部视图如何使用之前,我们先介绍一种视图引擎,就是在创建分部视图时选择的Razor。

Razor:

含义

一个模块解决方案,用来优化HTML的生成,主要集中在代码方面。Razor并不是一个新的编程语言,而是在让程序员只使用现有的C#/VB(或其它)编程语言知识就能使用Razor,我们只不过在你选择的编程语言里,提供一个非常棒的基于模板生成HTML的标记语法。它拥有十分智能的感应输入提示,用任何文本编辑器都可以进行编写。可以支持对视图执行单元测试

在C#中,几个简单的语法规则:

代码封装在@{...}中

变量和函数以@开头

语句以分号结尾

  1. @*定义变量strMessage*@
  2. @{
  3. var str="Hello World!";
  4. var Message = " Razor";
  5. var strMessage=str + Message;
  6. }
  7. @*利用a标签显示*@
  8. <a>@strMessage</a>

显示结果:

MVC中的分部视图

Razor 网页可被描述为带有两种内容的 HTML 页面:HTML内容和 Razor代码。使用 Razor语法ASP.NET 网页拥有特殊的文件扩展名 cshtml使用C# 的Razor 语法)或者vbhtml(使用VB的 Razor)

对Razor有了简单了解之后,我们来看分部视图的简单显示问题。在普通视图Index中,调用分部视图。

创建Controller,并建立AddExamPartial分部视图。

  1. // GET: /Exam/
  2. //对应普通视图
  3. public ActionResult Index()
  4. {
  5. return View();
  6. }
  7. //对应AddExamPartial分部视图
  8. public PartialViewResult AddExamPartial()
  9. {
  10. return PartialView("AddExamPartial");
  11. }

把它们放到一个文件夹下,方便管理。

MVC中的分部视图

在普通视图Index中,增加调用语句。

  1. @{Html.RenderPartial("../../Views/Exam/AddExamPartial");}

添加考试的页面就是一个分部视图,已经显示出来了,我们还可以更好的复用它。

MVC中的分部视图

总结:

以上只是简单的显示分部视图,并未涉及到传值等数据共享。此外,过多分部视图的使用会增加服务器的延迟,要控制得当。在你遇到十分困难的点时,那便是你薄弱的地方,抓住机会,这会是你收获最大的时候。