Esta es la situación que estoy tratando de resolver:Defaulting una sección en una vista Razor
Tengo un diseño principal compartido con una sola sección @RenderSection ("Menú") que quiero por defecto a un menú estándar para la mayoría de mis páginas, pero me gustaría reemplazar/anular esa sección en algunas páginas secundarias. ¿Es esto posible con Razor en esta etapa del juego?
Esperaba poder definir la implementación predeterminada de esa sección en _ViewStart.cshtml, pero parece que no me gusta.
¿Sería mejor una vista parcial del menú para esta situación?
Editar:
Estoy recibiendo el siguiente error con este código ahora: En las secciones siguientes se han definido, pero no han sido prestados para el diseño de página "~/Views/Shared/_Layout.cshtml": " menú".
_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>
}
Gracias Andy. Eso funcionó bien para mí y creo que es un poco más limpio que el menú parcial por separado. –