【发布时间】:2013-08-21 19:24:35
【问题描述】:
我有三个简单的布局,
_Layout.cshtml(这是基本布局)
@RenderSection("something", required: false)
@RenderBody()
_Main.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section something {
Hey I'm actually on the _Main layout.
}
Index.cshtml
@{
Layout = "~/Views/Shared/_Main.cshtml";
}
当我尝试在操作中呈现索引视图时,出现此错误,
尚未为布局页面调用“RenderBody”方法 “~/Views/Shared/_Main.cshtml”。
但是等等,_Main.cshtml 的父布局已经有一个RenderBody()。
那么我错了吗,我必须为每个子布局调用RenderBody() 吗?
【问题讨论】:
-
@asymptoticFault,不,这只是一个错误。
-
我不确定你是否可以使用这样的嵌套布局。
-
是的,您可以嵌套布局。通常你可以有不同的内部布局页面或有条件地在你的视图中显示内容。
-
啊,好吧,我自己没试过。
-
因为你使用_Main.cshtml作为布局页面,所以你需要添加RenderBody()
标签: asp.net asp.net-mvc asp.net-mvc-4 razor razor-2