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相关推荐

  1. Razor 视图引擎学习

    Razor 视图文件扩展名为 cshtml 或者 vbhtml , 现在主要讨论 cshtml. @ 定义 Razor 语句 1 2 3 4 5 <h2> Name: @Model.Nam ...

  2. Razor语法和Razor引擎大全

    一.Razor语法 1.Razor的标识符 解释:@字符被定义为Razor服务器代码块的标识符,后面的表示是服务器代码了.web form中使用<%%>中写服务器代码一个道理.在vs工具里 ...

  3. asp.net mvc3 Razor引擎中@使用规则小记

    项目中前台用的是asp.net mvc3,Razor引擎(关于Razor的介绍可以参考:http://weblogs.asp.net/scottgu/archive/2010/07/02/introd ...

  4. ASP.NET中添加View与Razor引擎以及View解析和Controller向View传值

    场景 ASP.NET中MVC添加Controller以及访问其Action: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106 ...

  5. 爱上MVC~Razor引擎时,在遍历中巧用Output.Write方法

    回到目录 在Razor引擎中,对于在表格中进行遍历时,一般会这样写 <table border="1">@{ for (var i = 0; i < 10; i+ ...

  6. ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用

    在<ASP.NET MVC的Razor引擎:RazorView>介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册 ...

  7. ue4 迁移模型_UE4虚幻引擎学习云笔记(六)-关卡设计入门-[5.地形快速入门]

    [六.关卡设计入门(Level Designer Quick Start)] 19-09-29 UE4虚幻引擎学习云笔记(六)-关卡设计入门​zhuanlan.zhihu.com UE4虚幻引擎学习云 ...

  8. 在非MVC环境下使用 Razor引擎

    Razor引擎下载地址: http://github.com/Antaris/RazorEngine 解析Model: string template = "Hello @Model.Nam ...

  9. velocity(vm)模板引擎学习介绍及语法

    velocity模板引擎学习 velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,( ...

最新文章

  1. 有必要做 Code Review 吗???
  2. Python切分图像小案例(1、3、2、4象限子图互换)
  3. ASP.NET程序中常用代码汇总(四)
  4. Linq的简介和基础知识学习
  5. Java Spring singleton bean的创建源代码
  6. JS获取标签方法及兼容处理
  7. Android使用token维持登陆状态的方法
  8. 【Java基础总结】网络编程
  9. Java Collections BinarySearch()方法与示例
  10. 《推荐系统笔记(九))》DNN的BP算法(内含详细数学推导)
  11. 解决客户端Redis中文乱码问题
  12. Python:学习笔记之PyQt5
  13. 阿里巴巴面试题- - -Java体系最新面试题(2022内部资料)
  14. 2017年总结与展望
  15. 常见的几种生命周期模型及其适用范围
  16. VC6中如何让改变控件Botton的字体(大小和字体)
  17. 初探 spring data(一)--- spring data 概述
  18. TCP/IP五层模型详解
  19. 如何在Bios里禁用集成显卡
  20. java购物商城_基于javaweb实现的简单购物商城

热门文章

  1. Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)
  2. 尝试一下OSWatch
  3. 广告数据组-常用id归纳
  4. 【云原生 | 从零开始学istio】二、Istio核心特性与架构
  5. 混沌时间序列知识自学
  6. 诺基亚N81手机密码如何解锁
  7. centos修改字体和字体大小
  8. 各标准代号及钢材代号
  9. 如何提取flash游戏和保存其进度
  10. 服务器系统装音频设备,远程服务器未安装音频设备