elemento del menú activo - página maestra asp.net mvc3

He estado escaneando tratando de encontrar una solución adecuada para asignar la clase "activa / actual" a los elementos del menú desde la página maestra. La línea se divide en el medio con respecto a si se debe hacer este lado del cliente frente al servidor.

A decir verdad, soy nuevo en JavaScript y MVC, así que no tengo una opinión. Preferiría hacer esto de la manera "más limpia" y más apropiada.

Tengo el siguiente código jQuery para asignar la clase "activa" al elemento <li> ... el único problema es que el elemento "índice" o el menú de vista predeterminado siempre se asignará a la clase activa, porque la URL siempre es una subcadena de los otros enlaces del menú:

(default) index = localhost/
link 1 = localhost/home/link1
link 2 = localhost/home/link1

$(function () {
 var str = location.href.toLowerCase();
  $('#nav ul li a').each(function() {
   if (str.indexOf(this.href.toLowerCase()) > -1) {
    $(this).parent().attr("class","active"); //hightlight parent tab
   }
});

¿Hay una mejor manera de hacer esto, chicos? ¿Al menos alguien me ayudaría a obtener la versión del lado del cliente a prueba de balas? ¿De modo que el "índice" o enlace predeterminado siempre está "activo"? ¿Hay alguna forma de asignar una extensión falsa al método de índice? como en lugar de solo la URL base, seríalocalhost/home/dashboard para que no sea una subcadena de cada enlace?

A decir verdad, realmente no sigo los métodos para hacer esto en el lado del servidor, por eso estoy tratando de hacerlo en el lado del cliente con jQuery ... cualquier ayuda sería apreciada.

Respuestas a la pregunta(5)

Su respuesta a la pregunta