Razor引擎学习:RenderBody,RenderPage和RenderSection
ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection,现在自己再总结下。
1. RenderBody
在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中。在这个页面中,会看到标签里有这样一条语句:
@RenderBody()
其实它的作用和母版页中的 服务器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在标签之间。
这个方法不需要参数,而且只能出现一次。
2. RenderPage
从名称可以猜出来这个方法是要呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:
@RenderPage(“~/Views/Shared/_Header.cshtml”)
@RenderBody()
代码简洁直观,另外似乎带下划线的视图文件有特殊含义,以后再研究吧。
3. RenderSection
布局页面还有节(Section)的概念,也就是说,如果某个视图模板中定义了一个节,那么可以把它单独呈现出来,用法如下:
@RenderPage(“~/Views/Shared/_Header.cshtml”)
@RenderBody()
@RenderSection(“footer”)
当然还要在视图中定义节,否则会出现异常:
@section footer {
Footer Here
}
为了防止因缺少节而出现异常,可以给RenderSection()提供第2个参数:
@RenderSection(“footer”, false)
英文原文网址:http://www.dotnetcurry.com/ShowArticle.aspx?ID=636
Razor引擎学习:RenderBody,RenderPage和RenderSection相关推荐
- Razor 视图引擎学习
Razor 视图文件扩展名为 cshtml 或者 vbhtml , 现在主要讨论 cshtml. @ 定义 Razor 语句 1 2 3 4 5 <h2> Name: @Model.Nam ...
- Razor语法和Razor引擎大全
一.Razor语法 1.Razor的标识符 解释:@字符被定义为Razor服务器代码块的标识符,后面的表示是服务器代码了.web form中使用<%%>中写服务器代码一个道理.在vs工具里 ...
- asp.net mvc3 Razor引擎中@使用规则小记
项目中前台用的是asp.net mvc3,Razor引擎(关于Razor的介绍可以参考:http://weblogs.asp.net/scottgu/archive/2010/07/02/introd ...
- ASP.NET中添加View与Razor引擎以及View解析和Controller向View传值
场景 ASP.NET中MVC添加Controller以及访问其Action: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106 ...
- 爱上MVC~Razor引擎时,在遍历中巧用Output.Write方法
回到目录 在Razor引擎中,对于在表格中进行遍历时,一般会这样写 <table border="1">@{ for (var i = 0; i < 10; i+ ...
- ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用
在<ASP.NET MVC的Razor引擎:RazorView>介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册 ...
- ue4 迁移模型_UE4虚幻引擎学习云笔记(六)-关卡设计入门-[5.地形快速入门]
[六.关卡设计入门(Level Designer Quick Start)] 19-09-29 UE4虚幻引擎学习云笔记(六)-关卡设计入门zhuanlan.zhihu.com UE4虚幻引擎学习云 ...
- 在非MVC环境下使用 Razor引擎
Razor引擎下载地址: http://github.com/Antaris/RazorEngine 解析Model: string template = "Hello @Model.Nam ...
- velocity(vm)模板引擎学习介绍及语法
velocity模板引擎学习 velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,( ...
最新文章
- 有必要做 Code Review 吗???
- Python切分图像小案例(1、3、2、4象限子图互换)
- ASP.NET程序中常用代码汇总(四)
- Linq的简介和基础知识学习
- Java Spring singleton bean的创建源代码
- JS获取标签方法及兼容处理
- Android使用token维持登陆状态的方法
- 【Java基础总结】网络编程
- Java Collections BinarySearch()方法与示例
- 《推荐系统笔记(九))》DNN的BP算法(内含详细数学推导)
- 解决客户端Redis中文乱码问题
- Python:学习笔记之PyQt5
- 阿里巴巴面试题- - -Java体系最新面试题(2022内部资料)
- 2017年总结与展望
- 常见的几种生命周期模型及其适用范围
- VC6中如何让改变控件Botton的字体(大小和字体)
- 初探 spring data(一)--- spring data 概述
- TCP/IP五层模型详解
- 如何在Bios里禁用集成显卡
- java购物商城_基于javaweb实现的简单购物商城