Вот ситуация, которую я пытаюсь решить:
У меня есть основной общий макет с одним разделом @RenderSection («Меню»), который я хочу использовать по умолчанию в стандартном меню для большинства моих страниц, но я хотел бы заменить / переопределить этот раздел в нескольких подпунктах страницы. Возможно ли это с помощью Razor на данном этапе игры?
Я надеялся, что смогу определить реализацию этого раздела по умолчанию в _ViewStart.cshtml, но, похоже, это не понравится.
Будет ли частичное представление меню лучше для этой ситуации?
Edit:
Я получаю следующую ошибку с этим кодом: следующие разделы были определены, но не отрисованы для страницы макета "~ / Views / Shared / _Layout.cshtml": "menu".
_Layout.cshtml
<div id="menu">
@if (IsSectionDefined("menu"))
{
RenderSection("menu");
}
else {
<text>
<ul>
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li><a href="#">Lookups</a>
<ul>
@Html.ActionLink("Product","Index","Product")
</ul>
</li>
</ul>
</text>
}
</div>
Index.cshtml
@section menu {
<ul>
<li>@Html.ActionLink("Product", "Index", "Product")</li>
<li>@Html.ActionLink("Form Type", "Index", "Product")</li>
<li>@Html.ActionLink("Supplier", "Index", "Product")</li>
</ul>
}