asp.net-mvc – 在MVC Razor中,如何在子布局下面定义一个RenderSection?
|
我有一个顶级的_Layout.cshtml,看起来像这样: <html>
<head>
@RenderSection("Header",required: false)
</head>
<body>
@RenderSection("LeftPane",required: false)
@RenderSection("RightPane",required: false)
@RenderBody()
</body>
</html>
那么我有两个“子布局”.一个定义了LeftPane部分,另一个定义了LeftPane和RightPane.这些子布局称为_LeftPane.cshtml和_LeftPlusRightPane.cshtml,它们的Layout设置为“_Layout.cshtml”. 然后在每个View .cshtml文件中,我将布局设置为_LeftPane.cshtml或_LeftPlusRightPane.cshtml,具体取决于我要显示在页面上的内容. 这一切都很好.问题是我在< head>中添加了新的“标题”部分部分文件.这个部分没有在子布局中定义,而是在实际的视图中定义.当我尝试以这种方式查看某些内容时,我会收到错误: 已经定义了以下部分,但没有为布局页面“/ Views / Shared / _LeftPlusRightPane.cshtml”:“标题”呈现. 我不想在子图层中渲染页眉部分,我想在_Layout.cshtml文件中呈现它.如何从低级别的视图“通过”定义的“标题”部分,通过子布局,直到顶部_Layout? 解决方法您可以嵌套布局.所以_Layout2有Layout =“_Layout.cshtml”;您还可以在每个View子文件夹中使用_ViewStart文件来为该子文件夹指定不同的默认布局. 要“通过”该部分,您只需执行以下操作: @section Header {@RenderSection("Header",false)}
这可以让您将内容传递给链. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 做一个ASP.NET网站的更改杀死活动会话?
- asp.net-mvc – ASP包中的绝对URL
- asp.net-mvc – DevExpress MVC GridView – 如何获取单元格
- ASP.NET控件属性与[Flags]枚举
- 如何在ASP.NET MVC中使用flot和jQuery?
- asp.net-mvc-3 – 如何使用Console.WriteLine在ASP.Net MVC
- asp.net – 如何在网格行中显示枚举描述或名称?
- asp.net – 第一个事件?主页Page_Load或内容页Page_Load
- asp.net-mvc – 授权属性生命周期
- ASP.NET MVC3 HttpStatusCodeResult StatusDescription –
- 使用ASP.NET通过POST接收(和发送)XML
- asp.net-mvc – ASP.net MVC – 显示模板集合
- [转]谈谈技术原则,技术学习方法,代码阅读及其它
- asp.net-mvc – 用于货币格式的ASP.NET MVC数据注
- asp.net-mvc-2 – 在发布网站后无法在asp.net mv
- asp.net-mvc – Web部署由于文件正在使用而失败
- asp.net-mvc – 如何填充/验证您的ViewModels?
- asp.net-mvc-4 – 如何在MVC 4中创建自定义WebSe
- asp-classic – 经典ASP中500 Vs 500.100错误
- asp.net-mvc – 在IIS 5.1上部署ASP.NET MVC(Win
