Боковая панель MVC не остается активной после нажатия - PullRequest
0 голосов
/ 07 января 2019

Я использую MVC.net, с трудом пробираюсь через боковую панель начальной загрузки, но остаюсь активным после щелчка и продолжаю обновлять страницу все время, пока я нажимаю.

Однако я стараюсь использовать приведенный ниже пример, он все еще не может быть активным после щелчка.

У меня есть несколько ответов по ссылке. Нажмите option1 здесь и нажмите option2 здесь

Ниже мой код:

CurrentControllerActiveClassName:

 public string CurrentControllerActiveClassName(string targetController)
    {
        var controller = ViewContext.RouteData.Values["controller"];
        return controller.Equals(targetController) ? "active" : string.Empty;
    }

HTML-макет:

<ul class="sub-menu" style="display: block;">
    <li class="dropdown @CurrentControllerActiveClassName("Option")">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">@Manager.Resource.Value("ABC000") </a>
        <ul class="sub-menu">
            <li>@Html.ActionLink(Manager.Resource.Value("ABC001"), "Import", "Others Country")</li>  
            <li>@Html.ActionLink(Manager.Resource.Value("ABC002"), "Apply", "Accept")</li>
            <li>@Html.ActionLink(Manager.Resource.Value("ABC003"), "Terminate", "Stop Purchasing")</li>
        </ul>
    </li>
</ul>

Jquery:

$('li:has(ul)', '#sidebar-content ul').each(function() {    
 if ($(this).hasClass('current') || $(this).hasClass('open-default')) {
     $('>a', this).append("<i class='arrow " + arrow_class_open + "'></i>");
 } else {
     $('>a', this).append("<i class='arrow " + arrow_class_closed + "'></i>");
 }
});

if ($('#sidebar').hasClass('sidebar-fixed')) {
    $('#sidebar-content').append('<div class="fill-nav-space"></div>');
}

$('#sidebar-content ul > li > a').on('click', function (e) {
    var navItem = $(this);    //add to try
    if (navItem.find("a").attr("href") == location.pathname) {  //add to try
        navItem.addClass("active");  //add to try
    }
    if ($(this).next().hasClass('sub-menu') == false) {
        return;
    }

Результат должен оставаться активным, пока боковая панель нажата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...