我使用ASP.NET MVC 5和Empty Project。
我有一个布局和一个视图。在布局中,我有一个RenderSection()
,在渲染之前检查一下。在视图我添加该部分,但不要渲染部分。
我收到此错误:
以下部分已定义但尚未呈现 对于布局页面"〜/ Views / _Layout.cshtml":"菜单"。
我的布局是:
<body>
<div id="menu">
@if(IsSectionDefined("Menu"))
{
RenderSection("Menu", required: false);
}
else
{
<span>this is the default</span>
}
</div>
<div id="content">
@RenderBody()
</div>
我的观点是:
@{
ViewBag.Title = "Index";
Layout = "~/Views/_Layout.cshtml";
}
<h2>Index</h2>
@section Menu{
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
}
为什么不起作用?
答案 0 :(得分:2)
@
RenderSection
符号
@if(IsSectionDefined("Menu"))
{
@RenderSection("Menu", required: false);
}
else
{
<span>this is the default</span>
}