码迷,mamicode.com
首页 > Web开发 > 详细

使用HTML辅助方法载入分部视图

时间:2015-06-24 15:54:26      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

在webform中我们用过user control可以减少重复代码也利于将页面模组化,

在mvc中 叫分部视图 Partial View.
 
也就是一个片段的view.可以利用Partial view 把这部分的html或显示逻辑包装起来,方便重复引用,当建立出来的分部视图放置于Views/Shared目录,任何控制器下的action或者view都可以载入,共用的分部视图放在shared文件下。
如何建立?
与建立view的步骤一样,只是选择 添加--视图之后 要勾选上”创建为分部视图“(只要勾选上,所建立的检视页面将不会有任何预设内容弄,这时我们试图在这个分部视图页面加上html片段来显示)
 
注意:使用分布视图不一定需要建立相关的action,因为它仅仅是片段的html,且调用时,也不会调用action来执行。
 
如何载入?
html辅助方法拥有一个专门的扩充方法来载入分部视图,成为Partial,可以在view中直接将分部视图的执行结果取回。
Partial(HTMLHelper,String)
Partial(HTMLHelper,String,Object)
Partial(HTMLHelper,String,ViewDataDictionary)
Partial(HTMLHelper,String,Object,ViewDataDictionary)
-----
Html.Partial("ajaxPage")
Html.Partial("ajaxPage",Model)
Html.Partial("ajaxPage",null,ViewData["Model"])
Html.Partial("ajaxPage",Model,null,ViewData["Model"])
 
 
 
 
 
 
从控制器载入分部视图
 分部视图除了可以直接从检视页面载入后,还可以像检视页面一样
 
从控制器中使用,比如Return PartialView()
这种方式与view辅助方法唯一的差别在于它不会套用于主版页面。
 
 
 
 
使用Html.Action辅助方法载入分部视图
除了在检视页面里使用Partial载入分部视图外,在mvc中还可以使
 
用Html.Action辅助方法载入另一个Action的执行结果。
eg:
public ActionResult  aaa(){
return PartialView();
}
然后可以在检视页面利用Html.Action来载入这个Action的执行结果
 
@Html.Action("aaa")
 
差别:
@Html.Partial载入分部视图是通过HtmlHelper直接读取*.cshtml文
 
件,直接执行该检视并取得结果,若使用Html.Action的话,则会通
 
过HtmlHelper对IIS再进行一次处理要求(通过Server.Execute方法
 
),因此html.action会重新执行一遍Controller的生命周期。
 
 
 
 
@Html.DisplayNameFor(model => model.Email)
仅仅输出单纯的文字,完全没有额外的标签,而且输出的显示文字
 
是在Member数据模型中各栏位的DisplayName属性(Attributes)参
 
数值,如果没有定义DisplayName属性的参数值的话,预设就会输出
 
属性名称。
 
 
@Html.DisplayFor(model => model.Email)
是个模板辅助方法,专门用来输出显示模板,发现大部分栏位都直
 
接输出数据模型传入的值(没有额外的HTML标签),但有个特别的
 
栏位不太一样,那就是Email这个栏位输出,因为这个栏位的输出竟
 
然是一个含有超链接的Email地址。
 
 
 
 
 
自定义HTML辅助方法。

使用HTML辅助方法载入分部视图

标签:

原文地址:http://www.cnblogs.com/jinhaoObject/p/4597695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!