mvc中@RenderSection()

mvc中@RenderSection()

一、@RenderSection定义

HelperResult RenderSection(string name)

但是当如果使用了_Layout.cshtml做母版页的页没有实现Section的话,就会抛出异常,这是因为在_Layout.cshtml中使用的是@RenderSection("SubName"),他要求所有子页都要实现。

重载函数

HelperResult RenderSection(string name, bool required = true)

其中,required默认为true表示引用这个布局页的所有View必须含有该Section,设为false则为可以有,也可以没有。

二、@RenderSection使用示例

1、layout布局页

  •  
  • HTML 代码   复制
  • 
    <body>
        <li id="header">@{Html.RenderAction("Menu", "Global");}</li>
        <li id="sideBar">
          @RenderSection("SubMenu",false)
        </li>
        <li id="container">@RenderBody()</li>
        <li id="footer">@{Html.RenderAction("Footer", "Global");}</li>
    </body>
    
    		
  • 2、添加一个About。cshtml,使用_Layout.cshtml布局页

  •  
  • C# 代码   复制
  • 
    @{
       ViewBag.Title = "About";
    }
    
    @section SubMenu{
        Hello This is a section implement in About View.
    }
    
    		
  • 标签: