首页 > 代码库 > MVC中的分部视图
MVC中的分部视图
背景:
项目的工期马上就要到了,由于后台封装的很好,我们只需要用心熟悉框架,接下来后台的工作就是简单的代码工作了。原本以为最困难的时期已经过去,可没想到前台才是最困难的。
B/S的基础十分薄弱,加上BS的项目做得少,遇到困难是避免不了的。霞姐说要界面灵活,那种在html里加onclick的时代已经过去。今天就来说说界面灵活之一——分部视图和Razor语法。
分部视图:
在一定程度上,分部视图与用户控件十分类似。他们都可以提高内容或代码的可重用性,但不同之处是,分部视图不需要使用ViewState、PostBacks, and Events 等技术管理状态。分部视图与普通视图的语法没有区别。
优点:
1)简单
2)可重用
3)分工合作
首先,创建一个分部视图。在项目中右键——添加视图,如图:
在介绍分部视图如何使用之前,我们先介绍一种视图引擎,就是在创建分部视图时选择的Razor。
Razor:
含义
一个模块解决方案,用来优化HTML的生成,主要集中在代码方面。Razor并不是一个新的编程语言,而是在让程序员只使用现有的C#/VB(或其它)编程语言知识就能使用Razor,我们只不过在你选择的编程语言里,提供一个非常棒的基于模板生成HTML的标记语法。它拥有十分智能的感应输入提示,用任何文本编辑器都可以进行编写。可以支持对视图执行单元测试。
在C#中,几个简单的语法规则:
代码封装在@{...}中
变量和函数以@开头
语句以分号结尾
- @*定义变量strMessage*@
- @{
- var str="Hello World!";
- var Message = " Razor";
- var strMessage=str + Message;
- }
- @*利用a标签显示*@
- <a>@strMessage</a>
显示结果:
Razor 网页可被描述为带有两种内容的 HTML 页面:HTML内容和 Razor代码。使用 Razor语法ASP.NET 网页拥有特殊的文件扩展名 cshtml使用C# 的Razor 语法)或者vbhtml(使用VB的 Razor)
对Razor有了简单了解之后,我们来看分部视图的简单显示问题。在普通视图Index中,调用分部视图。
创建Controller,并建立AddExamPartial分部视图。
- // GET: /Exam/
- //对应普通视图
- public ActionResult Index()
- {
- return View();
- }
- //对应AddExamPartial分部视图
- public PartialViewResult AddExamPartial()
- {
- return PartialView("AddExamPartial");
- }
把它们放到一个文件夹下,方便管理。
在普通视图Index中,增加调用语句。
- @{Html.RenderPartial("../../Views/Exam/AddExamPartial");}
添加考试的页面就是一个分部视图,已经显示出来了,我们还可以更好的复用它。
总结:
以上只是简单的显示分部视图,并未涉及到传值等数据共享。此外,过多分部视图的使用会增加服务器的延迟,要控制得当。在你遇到十分困难的点时,那便是你薄弱的地方,抓住机会,这会是你收获最大的时候。
MVC中的分部视图