.net Mvc4 View—布局页与分部页
▲
一、Layout属性
1.1、@RenderPage():渲染制定的页面到占位符。
注意:@RenderPage()可以使用多次,这点与@RenderBody()不同
格式如: @RenderPage("~/Views/Home/Test.cshtml");则会把Test.cshtml页面内容加载到指定位置
1.2、@RenderBody():直接渲染整个View到占位符处,不需要原来的<asp:Content/>(呈现子页的主体内容)
注意:@RenderBody()只能在_Layout.cshtml使用一次。
1.3、@RenderSection():声明一个占位符,和原来的<ContentPlaceHoler/>类似(呈现特别的杰部分)
可以有两种声明方式:
第一种方式(推荐):
@RenderSection("SectionA",false)
第2个参数为false,代表在详细View中可以实现,也可以不实现
第2个参数为true,代表在详细View中必须要实现,否则报错
第二种方式: (IsSectionDefined()判断是否有子页实现)
@if(IsSectionDefined("SectionB")){
@RenderSection("SectionB");}
格式如:@RenderSection("SectionA") 在_layout.cshtml页(母版页)这里相当于一个占位符
结合
@section SectionA{
这是@RenderSection("SectionA")呈现出的内容。
}(这是子页面)
二、RenderPartial, RenderAction , Partial , Action 的使用选择
2.1、Html.RenderPartial:将分部视图直接写入响应输出流,所以只能放在代码模块中,不能放在表达式中。
2.1.1、这个方法会直接将结果写入到当前请求的http response数据流中,这以为着它使用了和当前webpage/template使用的相同的TextWrite对象
2.1.2、方法没有返回值
2.1.3、不需要创建action,使用简单
2.1.4、格式如下:@{Html.RenderPartial("Links")};"Links"就是分部视图页的名称
2.1.5、这个方法比Partial方法更快,因为它直接将结果系统到当前响应的数据流中
2.2、Html.RenderAction:将分部视图直接写入响应输出流。
2.2.1、和上个一样,执行结果会直接写入当前响应的数据流中
2.2.2、需要创建child action方法
2.2.3、格式如:@{Html.RenderAction("Category","Home");}
2.2.4、如果你想缓存partial view,这是最好的选择
2.2.5、这个方法比Action()方法快,基于第一条原因
2.3、Html.Partial:以HTML-encoded 字符串展示
2.3.1、结果以HTML-encoded 字符串展示
2.3.2、返回的是string类型,所以结果可以存储在变量里
2.3.3、使用简单,无需创建Action
2.3.4、格式如:@Html.Partial("_Comments")
2.4、Html.Action:直接展示为HtmlString
2.4.1、直接展示为HtmlString
2.4.2、需要创建对应的child action
2.4.3、可以缓存partial view
2.4.4、格式如:@{Html.Action("Category","Home");}
▼
.net Mvc4 View—布局页与分部页的更多相关文章
- asp.net MVC 4.0 View回顾——布局页与分部页
asp.net MVC 4.0中总结 视图里加载部分视图几种方法 @RenderPage() 但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传递. @RenderPage ...
- 爱上MVC~在Views的多级文件夹~续~分部页的支持
回到目录 之前写的一篇文章,主要针对View视图,它可以放在N级目录下,不必须非要在views/controller/action这种关系了,而在程序运行过程中,发现分页视图对本功能并不支持,原因很简 ...
- MVC的布局页,视图布局页和分布页的使用
一,结构如下图 二,布局页和视图布局页 1>使用方法一 _ViewStart.cshtml @{ Layout = "~/Views/Shared/_Layout.cshtml&quo ...
- 网页万能排版布局插件,web视图定位布局创意技术演示页
html万能排版布局插件,是不是感觉很强大,原理其实很简单,不过功能很强大哈哈,大量节省排版布局时间啊! test.html <!doctype html> <html> &l ...
- ASP.NET MVC5 之 分部页
1.分部页 _PartialPage.cshtml @model List<string> <a>完美世界</a> @foreach (var item in Mo ...
- Mvc4 Layout布局与页面SEO信息title,keyword,description
工作已经五个年头了,在进入工作岗位时最初在.net 2.0平台一直到现在的.net 4.0平台下,开发了不少的winform.webform项目:五年的工作时间,在公司主持开发和维护了不少的电子商务w ...
- iOS开发——UI_swift篇&TableView实现页眉和页脚
TableView实现页眉和页脚 在UItableView中header和footer是很常见的,而且他能让你实现很复杂的功能,我们见过最多的就是下拉刷新和上啦加载更多,当然你还可以在上面添加一个 ...
- Swift - 给表格TableView添加页眉和页脚
UITableView具有var tableHeaderView:UIView?属性和var tableFooterView:UIView?属性,可以通过给其赋值来创建列表TableView的页眉和页 ...
- dede list列表页和文章页分别使用if else
标签: dede 2015-01-25 19:33 755人阅读 评论(0) 收藏 举报 分类: [ Dede ](20) 版权声明:本文为博主原创文章,未经博主允许不得转载. list列表页中使用i ...
随机推荐
- python3的下载与安装
python3的下载与安装 1.首先,从Python官方网站:http://python.org/getit/ ,下载Windows的安装包 ython官网有几个下载文件,有什么区别?Python 3 ...
- 关于C链表的实现
学习了数据结构后,自己学习写了一个链表的程序.初步功能是实现了.但是不知道会不会有一些隐含的问题.所以希望大佬指导指导 /******************/ /*一个小的链表程序*/ /***** ...
- Go Web Gin EasyUI 框架
项目结构 第三方: 1.gin微服务框架 2.EasyUI框架
- R语言爬虫:爬取百度百科词条
抓取目标:抓取花儿与少年的百度百科中成员信息 url <- "http://baike.baidu.com/item/%E8%8A%B1%E5%84%BF%E4%B8%8E%E5%B0 ...
- Python CSV模块简介
Table of Contents 1. CSV 1.1. 简介 1.2. 字典方式地读写 1.3. 其它 2. 参考资料 CSV csv文件格式是一种通用的电子表格和数据库导入导出格式.最近我调用R ...
- 滑雪_KEY
滑雪 ( skiing.pas/c/cpp) [题目描述] MM 参加一个滑雪比赛,滑雪场是一个 N×M 的矩形, MM 要从起点( 1, 1)滑到( N,M).矩形中每个单位格子有一个海拔高度值 h ...
- 成都Uber优步司机奖励政策(3月15日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Drupal 判断匿名用户必须先登录的解决方法
要实现如果是匿名用户点击checkout链接,要求先登录 方案一.通过添加Rules规则实现 EVENT:After adding a product to the cart Conditions : ...
- VMware实现控制台功能(VMware Remote Console)
说明: 刚开始一脸懵逼,google了一些资料,发现基本没有能快速落地的,自己做完后梳理了一下发上来供大家参考. 如果帮到你了,请点赞评论关注,以资鼓励,多谢~ 实现VMware控制台功能主要有两种方 ...
- TW实习日记:第20-21天
为什么上周五没写呢,因为上周五一直在熟悉业务流程...根本不会写一些复杂的业务代码,因为没有业务流程图!!!在学校的上需求分析和UML建模课的时候,还有软件工程课的时候,想着这都什么鬼啊,听来干嘛,写 ...