zoukankan      html  css  js  c++  java
  • MVC3中的RenderBody、RenderPage、RenderSection的差别

    <body>     @RenderBody() </body>

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

    其实它的感化和母版页中的<contentplaceholder>办事器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面归并,而新创建视图的内容会经由过程布局页面的@RenderBody()办法浮如今<body>标签之间。

    这个办法不须要参数,并且只能呈现一次。

    <body>     @RenderPage("~/Views/Shared/_Header.cshtml"
    @RenderBody() </body>

    从名称可以猜出来这个办法是要浮现一个页面。比如网页中固定的头部可以零丁放在一个共享的视图文件中,然后在布局页面中经由过程这个办法调用,用法如下:

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

    @RenderBody()

    <body>     @RenderPage("~/Views/Shared/_Header.cshtml"
    @RenderBody()
    @RenderSection("footer") </body>

    布局页面还有节(Section)的概念,用于零丁浮现视图模板中定义的一个节,用法如下:

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

    @RenderBody()

    @RenderSection(“footer”)

    当然还要在视图中定义节,不然会呈现异常

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

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

    @RenderSection(“footer”, false)

  • 相关阅读:
    SVN服务器搭建(一)
    排序算法二:冒泡排序
    【LeetCode】136. Single Number
    【LeetCode】217. Contains Duplicate
    【LeetCode】189. Rotate Array
    【LeetCode】122. Best Time to Buy and Sell Stock II
    【LeetCode】26. Remove Duplicates from Sorted Array
    【LeetCode】20. Valid Parentheses
    【LeetCode】680. Valid Palindrome II
    【LeetCode】345. Reverse Vowels of a String
  • 原文地址:https://www.cnblogs.com/guozhe/p/2848720.html
Copyright © 2011-2022 走看看