Piszę aplikacje w MVC i chciałbym żeby po naciśnięciu na wybrany element z menu zmienił on klasę. Chciałbym żeby po odświeżeniu strony pamiętało też na której znajduje się kategorii.
Używam Bootstrapa i chcę to osiągnąć poprzez napisanie skryptu jQuery.
layout.cshtml
<ul class="nav navbar-nav my-menu">
<li>@{Html.RenderAction("Menu", "Nav");}</li>
</ul>
Menu.cshtml
@foreach (var link in Model)
{
<li><a [email protected]("list", "Service" , new { contoller="Service" , action="List" , category=link, page=1})>@link<span style="font-size:16px;" class="pull-right hidden-xs showopacity glyphicon glyphicon-education"></span></a></li>
}
do Layout.cshtml dodałem skrypt
$(function () {
setNavigation();
});
function setNavigation() {
var path = window.location.pathname;
path = path.replace(/\/$/, "");
path = decodeURIComponent(path); // output: "/NazwaWybranejKategorii"
$(".nav li").each(function () {
var href = $(this).attributeHas(path); //???
if (path.substring(0, href.length) === href) {
$(this).closest('li').addClass('klasa');
}
});
}
W jaki sposób przypisać do zmiennej href nazwę kategorii do której odnosi się dany Ur.Action, żeby pokrywała się z formatem wartości zmiennej path ?