Cuando se crea un nuevo proyecto MVC se crea un Site.Master con el siguiente marcado:ASP.net MVC - Navegación y poner de relieve el vínculo "actual"
<div id="menucontainer">
<ul id="menu">
<li><%: Html.ActionLink("Home", "Index", "Home")%></li>
<li><%: Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
me gustaría poner el código que aquí resaltará el enlace actual si estoy en esa página.
Si añado otro enlace tales como:
<li><%: Html.ActionLink("Products", "Index", "Products")%></li>
Me gustaría que el enlace de los productos a ser activa (utilizando una clase css como .active) si estoy en cualquier acción en el controlador los productos.
El enlace Acerca de debe estar activo si estoy en la acción Acerca de HomeController. El enlace de Inicio debe estar activo si estoy en la acción de índice del HomeController.
¿Cuál es la mejor manera de hacer esto en MVC?
este deja de funcionar cuando se utiliza RenderAction :( –
Nota: ActionLink es en realidad un método de extensión en sí, asegúrese de incluir el uso de System.Web.Mvc.Html; en su archivo de código, de lo contrario, Visual Studio no podrá encontrarlo. – Peter
Utilice el paquete nuget 'JetBrains.Annotations' para obtener el controlador y la acción resaltados en la vista Razor. '[AspMvcController]' y '[AspMvcAction]'. –