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

在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辅助方法。

时间: 2024-11-05 18:33:13

使用HTML辅助方法载入分部视图的相关文章

MVC HTML辅助方法

HTML辅助方法(HTML Helper)用来辅助产生HTML,在开发View的时候会面对许多HTML标签,处理这些HTML标签非常繁琐,为了降低View的复杂度,可以使用HTML辅助方法帮助你产生一些HTML标签或内容,因这些HTML标签都有固定标准的写法,所以将其包装成HTML辅助方法,可让View开发更快速,也可以避免不必要的语法错误. ASP.NET MVC中内建了许多HTML辅助方法,这些HTML辅助方法都是利用C#3.0的扩充方法特性,将各种不同的HTML辅助方法扩充在HtmlHel

辅助方法、模型、视图数据

eg1: 如果想在一个表单中显示价格,可以用下边的控制器代码: public ActionResult Edit(int id){ ViewBag.Price=10.0; return View(); } 在相应的视图中,使用 ViewBag 中的值来为 TextBox 辅助方法命名,可以实现渲染显示价格的文本框: @Html.TextBox("Price") 将会生成如下的HTML标记 <input id="Price" name="Price&q

(转)表单和HTML辅助方法 - ASP.NET MVC 3

——选自<ASP.NET MVC3 高级编程(第5章)  孙远帅 译> ——微软ASP.NET MVC系列书籍地址: http://www.wrox.com/WileyCDA/WroxTitle/Professional-ASP-NET-MVC-3.productCd-1118076583.html 第5章 表单和HTML辅助方法  本章内容简介: * 理解表单 * 如何利用HTML辅助方法 * 编辑和输入的辅助方法 * 显示和渲染的辅助方法 顾名思义,HTML辅助方法是用来辅助HTML开发的

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

5.1表单的使用 5.1.1  action和method的特性 表单是包含输入元素的容器,包含按钮.复选框.文本框等元素,表单的这些输入元素使得用户能够向页面中输入信息,并把输入信息提交给服务器.Action特性告知浏览器将URL提交到哪里,method特性来说明用何种方式告知浏览器,默认为get方法 5.1.2Get和Post方法 1.如果不想让浏览器把输入值放入查询字符串中,而是想放入HTTP请求的主体中,可以为method赋值post,post可以用来提交信用卡信息.向购物车添加专辑或者

ASP.NET MVC5 高级编程 第5章 表单和HTML辅助方法

参考资料<ASP.NET MVC5 高级编程>第5版 第5章 表单和HTML辅助方法 5.1 表单的使用 5.1.1 action 和 method 特性 默认情况下,表单发送的是 HTTP Post 请求 EF 对于外键关系,数据库名称等也有约定.这些约定取代了以前需要提供给一个关系对象映射框架的所有映射和配置. GET 方法:GET 请求的所有参数都在URL中,因此可以为GET 请求建立书签. POST 方法:浏览器把输入值放入 HTTP 请求的主体中. 5.2 辅助方法 可以通过视图的H

Asp.net MVC4高级编程学习笔记-模型学习第五课MVC表单和HTML辅助方法20171101

MVC表单和HTML辅助方法 一.表单的使用. 表单中的action与method特性.Action表示表单要提交往那里,因此这里就有一个URL.这个URL可以是相对或绝对地址.表单默认的method属性值是get,如果看到表单没有写method属性那就是表示method是get方式提交.另外一种就是post方式. 当使用HTTP Get请求时,浏览器会提取表单中元素的name特性值及相应的value特性值放到查询字符串中.如:http://localhost?search?id=1 如果不想把

Mvc5 表单和HTML辅助方法

①表单的使用 在WebFrom里面你创建一个页面,页面上就会出<from></from>. 1,action和method属性 action表示目的,method表示表单传值方式get/post, action默认为当前URL, method默认为:get 2,enctype   一般需要设置这个属性来允许表单提交多媒体类型 ②HTML辅助方法   如果BeginForm() 表示对当前URL提交Post提交. 1,自动编码 2,HTML辅助方法的工作原理 Html属性的类型是Sy

004.MVC视图、辅助方法

一.视图基础- 视图定义: 用户界面,是显示应用程序用户界面(UI)组件 Web应用程序:页面 作用: 1.输出/显示模型数据 2.出入提交 视图建议在View文件夹位置存储视图 视图引擎(了解):本意发动机,这里指的是:处理视图的软件(框架内部) ASP.NET Web窗体提供了一种视图引擎,称为Web窗体引擎 ASP.NET MVC1及MVC2版本中支持Web窗体引擎 ASP.NET MVC3版本除了支持Web窗体引擎,还提供了一种新的视图引擎,称为Razor(视图)引擎 Razor引擎更加

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult 导出EXCEL方法总结:MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可:优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件: 2.设置输出头为:application/ms-excel,再输出拼接的HTM