我有一个顶级的_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?