Adición condicional de clase basada en la ruta
Frecuentes
Visto 82 equipos
0
Tengo diferentes secciones en mi sitio. Digamos que uno se llama Cuentas.
Cuentas tiene una lista de enlaces de subnavegación. Cada enlace de subnavegación tiene su propia vista en una carpeta de vista de Cuentas (Vistas/Cuentas/Subnav1, Vistas/Cuentas/Subnav2, etc.). Necesito almacenar el código HTML de subnavegación de la cuenta en un solo lugar y hacer que agregue condicionalmente una clase de "seleccionado" a la etiqueta adecuada en el código HTML.
No sé si esto se logra mejor al tener una página maestra anidada de Cuentas (que tiene el subnavegador de Cuentas) o al crear un subnavegador de Cuenta parcial. De cualquier manera, necesito averiguar cómo hacer esto en general.
Aquí hay un pseudocódigo de lo que estoy pensando:
Cuenta subnav página maestra anidada/parcial:
<ol>
<li <% if (action.Equals("Subnav1")) { %><%: class="selected" %><% } %>>Subnav 1</li>
<li <% if (action.Equals("Subnav2")) { %><%: class="selected" %><% } %>>Subnav 2</li>
</ol>
1 Respuestas
1
<ol>
<% string action = ViewContext.Controller.ValueProvider.GetValue("action").RawValue; %>
<li <% if (action.Equals("Subnav1", StringComparison.OrdinalIgnoreCase)) { %><%: class="selected" %><% } %>>Subnav 1</li>
<li <% if (action.Equals("Subnav2", StringComparison.OrdinalIgnoreCase)) { %><%: class="selected" %><% } %>>Subnav 2</li>
</ol>
Respondido el 09 de Septiembre de 13 a las 21:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas asp.net-mvc asp.net-mvc-4 master-pages or haz tu propia pregunta.
Gracias por su pronta respuesta. ¿Recomendaría lograr esto con una página maestra parcial o anidada? - tau
@tau Probablemente tiraría eso
li
en una vista parcial si hay demasiados. - Yuri Faktorovich