jquery - 将事件类添加到 asp.net core 中的菜单?

标签 jquery html css asp.net-mvc asp.net-core

这是我的菜单

<nav class="moduletable navigation hidden-sm hidden-xs">
  <ul id="nav" class="sf-menu">
    <li class="@Html.IsActive("GameVideos", "Index")"><a href="@Url.Action("Index", "GameVideos")">videogame</a></li>                                
    <li class="@Html.IsActive("SystemRequirements", "Index")"><a href="@Url.Action("Index", "SystemRequirements")">systemReq</a></li>
    <li class="@Html.IsActive("Games", "UpcommingGames")"><a href="@Url.Action("UpcommingGames", "Games")">upcomming game</a></li>
  </ul>
</nav>

并且此方法检查菜单处于事件状态

 public static string IsActive(this IHtmlHelper htmlHelper, string controller, string action)
    {
        var routeData = htmlHelper.ViewContext.RouteData;

        var routeAction = routeData.Values["action"].ToString();
        var routeController = routeData.Values["controller"].ToString();

        var returnActive = (controller == routeController && action == routeAction);

        return returnActive ? "active" : "";
    }

当我选择菜单时它可以工作但是当我点击一个游戏并看到详细信息事件类被删除时,此代码仅适用于索引 View 但不适用于详细信息菜单

最佳答案

你必须像这样改变 isactive 方法:

public static string IsActive(this IHtmlHelper htmlHelper, string controller, string action)
    {
        var routeData = htmlHelper.ViewContext.RouteData;

        var routeAction = routeData.Values["action"].ToString();
        var routeController = routeData.Values["controller"].ToString();

        var returnActive = (controller == routeController && (action == routeAction || routeAction == "Details"));

        return returnActive ? "active" : "";
    }

关于jquery - 将事件类添加到 asp.net core 中的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57029363/

相关文章:

javascript - jquery 解析 json

jquery mobile 的所有数据属性引用都不起作用

javascript - 禁用提交按钮,直到至少选中一个复选框

jquery - 如何验证日期范围?

php - 如何使用 PHP 在 li 标签之前添加 span 标签?

html - 编程中http和https有什么区别

jquery - 检查节点类型的图片/Alt 属性

css - 无法获取 :before element to appear on ReactiveForms input

javascript - 复制和粘贴列表项时如何添加换行符?

html - 我如何创建一个正则表达式,为我的所有样式选择器附加一个 id