在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辅助方法载入分部视图的更多相关文章

  1. 32-HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...

  2. 知识点3-6:HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...

  3. HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...

  4. MVC 之HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...

  5. APS.NET MVC + EF (07)---表单和HTML辅助方法

    在ASP.NET MVC中,可以借助HtmlHelper 对象来输出页面内容,提高开发效率.下面,我们将介绍一些常用的辅助方法. 7.1 HTML辅助方法 BeginForm 该辅助方法主要用来产生& ...

  6. MVC HTML辅助方法

    HTML辅助方法(HTML Helper)用来辅助产生HTML,在开发View的时候会面对许多HTML标签,处理这些HTML标签非常繁琐,为了降低View的复杂度,可以使用HTML辅助方法帮助你产生一 ...

  7. 【未完待续】MVC 之HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用, 在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用H ...

  8. ASP.NET MVC 3 之表单和 HTML 辅助方法(摘抄)

    ——选自<ASP.NET MVC3 高级编程(第5章) 孙远帅 译> 第5章 表单和HTML辅助方法 本章内容简介: * 理解表单 * 如何利用HTML辅助方法 * 编辑和输入的辅助方法 ...

  9. ASP.NET MVC3学习心得-----表单和HTML辅助方法

    5.1表单的使用 5.1.1  action和method的特性 表单是包含输入元素的容器,包含按钮.复选框.文本框等元素,表单的这些输入元素使得用户能够向页面中输入信息,并把输入信息提交给服务器.A ...

随机推荐

  1. Webpack探索【10】--- 懒加载详解

    本文主要讲懒加载方面相关内容.

  2. CSS各种度量单位----px、em、%、rem、vh/vw、vmin/vmax

    本文主要讲下CSS中各类度量单位的意思和区别. 开发中最常用到的css单位是px.em.%.随着css3的出现,带来了更多的度量单位,这些单位为响应式开发,带来很大的好处.各种单位的浏览器兼容性可以去 ...

  3. 我的Android进阶之旅------>自己写个Activity来调节Android系统背光亮度Brightness

    今天终于算初步写好了一个调节系统背光亮度Brightness的代码,本来不看Android源代码以为可以直接调用某个Action来启动系统的那个调节Brightness的对话框,但是看了代码后发现系统 ...

  4. 使用qt+ros调用摄像头遇到的问题

    当使用摄像头遇到如下问题:[usb_cam-1] process has died [pid 12288, exit code 127, cmd /opt/ros/indigo/lib/usb_cam ...

  5. CentOS7的yum安装mysql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com ...

  6. Android 破解

    一.反编译 默认你的电脑中完好的有java环境 1.下载 Android killer  链接: https://pan.baidu.com/s/1s6lfm8CbdU9ABYEOhdFWxA 提取码 ...

  7. Zabbix的snmp监控一些snmp常用的一些OID (KEY)

    摘自: http://www.iyunv.com/thread-167287-1-1.html System Group sysDescr 1.3.6.1.2.1.1.1 sysObjectID 1. ...

  8. flash滑杆控制图片横向滚动

    flash滑杆控制图片横向滚动是一款FLASH动画图片左右滚动素材,滑杆控制滚动,效果很酷,带FLASH源文件. 下载:http://www.huiyi8.com/sc/9452.html

  9. window/body/img/iframe 的onload事件

    在html页面中,只有body,img,iframe这一类标签具有onload事件. onload事件表示在当前元素载入完成后发生的事件.其中,window也有onload事件,但是跟body的是同一 ...

  10. hdu-1542 Atlantis(离散化+线段树+扫描线算法)

    题目链接: Atlantis Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/32768 K (Java/Others) ...