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 代码    复制
mvc中@RenderSection()研究 mvc中@RenderSection()研究<body> mvc中@RenderSection()研究 <div id="header">@{Html.RenderAction("Menu", "Global");}</div> mvc中@RenderSection()研究 <div id="sideBar"> mvc中@RenderSection()研究 @RenderSection("SubMenu",false) mvc中@RenderSection()研究 </div> mvc中@RenderSection()研究 <div id="container">@RenderBody()</div> mvc中@RenderSection()研究 <div id="footer">@{Html.RenderAction("Footer", "Global");}</div> mvc中@RenderSection()研究</body> mvc中@RenderSection()研究

 

2、添加一个About。cshtml,使用_Layout.cshtml布局页

 
C# 代码    复制
mvc中@RenderSection()研究 mvc中@RenderSection()研究@{ mvc中@RenderSection()研究 ViewBag.Title = "About"; mvc中@RenderSection()研究} mvc中@RenderSection()研究 mvc中@RenderSection()研究@section SubMenu{ mvc中@RenderSection()研究 Hello This is a section implement in About View. mvc中@RenderSection()研究}

你可能感兴趣的:(mvc)