zoukankan      html  css  js  c++  java
  • Razor引擎学习:RenderBody,RenderPage和RenderSection{转}

    ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection,现在自己再总结下。

    1. RenderBody

    在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中。在这个页面中,会看到<body>标签里有这样一条语句:

    @RenderBody()

    其实它的作用和母版页中的<contentplaceholder>服务器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在<body>标签之间。

    这个方法不需要参数,而且只能出现一次。

    2. RenderPage

    从名称可以猜出来这个方法是要呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:

    @RenderPage(“~/Views/Shared/_Header.cshtml”) 
    @RenderBody()

    代码简洁直观,另外似乎带下划线的视图文件有特殊含义,以后再研究吧。

    3. RenderSection

    布局页面还有节(Section)的概念,也就是说,如果某个视图模板中定义了一个节,那么可以把它单独呈现出来,用法如下:

    @RenderPage(“~/Views/Shared/_Header.cshtml”) 
    @RenderBody() 
    @RenderSection(“footer”)

    当然还要在视图中定义节,否则会出现异常:

    @section footer { 
        <b>Footer Here</b> 
    }

    为了防止因缺少节而出现异常,可以给RenderSection()提供第2个参数:

    @RenderSection(“footer”, false)

    英文原文网址:http://www.dotnetcurry.com/ShowArticle.aspx?ID=636

  • 相关阅读:
    利用dockerfile定制镜像
    发布Docker 镜像到dockerhub
    Docker 停止容器
    133. Clone Graph
    132. Palindrome Partitioning II
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    127. Word Ladder
  • 原文地址:https://www.cnblogs.com/answercard/p/2117881.html
Copyright © 2011-2022 走看看