在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. ajax工作原理(转)

    在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景.原理.优缺点等各个方面都很少涉及null.这次写这篇文章的背景是因为公司需要对内部程序员做一个培训.项 ...

  2. 【题解】P1613跑路

    [题解]P1613 鸽王跑路 一道思维好题! 考虑\(2^k\)的传递性.直接64遍\(floyd\)求所有\(2^k\)的路径,转移方程是 \(dp(i,j,k)=[dp[i][t][k-1]\)& ...

  3. Why Use C++/CLI?

    来源:http://www.asawicki.info/Download/Productions/Publications/CPP_CLI_tutorial.pdf Why Use C++/CLI? ...

  4. 3款Linux网络监视工具

    1 iftop: 如果你想看到现在你的带宽到底是哪些应用在使用,并且各个应用占据了多少带宽的时候,可以用iftop显示出来.使用的参数如下: -h                  display t ...

  5. Intellij Idea生成JavaDoc

    JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了.在简略介绍JavaDoc写法之后,再看一下在Intellij Idea 中如何将代码中的注释 ...

  6. terminal中 启动ios模拟器,并安装软件

    启动运行模拟器: xcrun instruments -w 'iPhone 6 Plus' 在已经启动好的模拟器中安装应用: xcrun simctl install booted Calculato ...

  7. linux安装mongodb,设为全局和后台启动

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.5.tgz # 下载 tar -zxvf mongodb-linux ...

  8. log4j 2 入门实例(1)

    本文介绍log4j的基本概念和将日志输出到控制台的例子. 参考文章: http://www.jianshu.com/p/464058bdbc76 http://www.hankcs.com/progr ...

  9. 4.1 《锋利的jQuery》jQuery中的事件

    $(document).ready()方法和window.onload方法的区别 事件绑定 合成事件 事件冒泡 事件对象的属性 tip1:停止事件冒泡和阻止默认行为都可以用return false替代 ...

  10. spring boot集成多数据源过程以及错误

    https://blog.csdn.net/aa456aaxxx/article/details/80346703 出现BindingException错误  解决如下 https://my.osch ...