В дополнение к ответу @Nam Le я предлагаю полное решение.
Я нашел способ, как мы можем правильно использовать исключение.
Прежде всего, так как мы устанавливаем класс active
на стороне сервера на основе текущего маршрута, мы должны добавить asp-route-routeId="{routeId:int}"
в cs html, с которым мы работаем.
Во-вторых, используйте этот jQuery код:
jQuery
$("#navigation .navbar-nav a").click(function() {
$("#navigation .navbar-nav").find("a.active").removeClass("active");
$(this).addClass("active");
localStorage.className = "active";
});
$(document).ready(function() {
stayActive();
});
function stayActive() {
$(this).addClass(localStorage.className);
}
И последний шаг - настройка "launchUrl": "route/routeId"
в launchSetting. json файл для запуска приложения с определенным маршрутом. Это действие заставляет наше расширение HtmlHelper реагировать и добавляет статус active
к нужной вкладке.
Надеюсь, что в предложенном решении нет грубых ошибок :)
UPD : не забудьте добавить маршрут в cs html @page "/ route / routeId"