html - 使 Bootstrap 选项卡在 MVC 操作上处于事件状态

标签 html css asp.net asp.net-mvc twitter-bootstrap

我希望在单击该选项卡(操作)后将该选项卡设置为事件状态。但是,我遇到的问题是“仪表板”选项卡始终设置为事件状态

<div class="row top-buffer">
    <ul class="nav nav-tabs">
        <li class="active">@Html.ActionLink("Dashboard", "Index")</li>
        <li>@Html.ActionLink("Users", "Users")</li>
        <li>@Html.ActionLink("Investigator Groups", "Groups")</li>
        <li>@Html.ActionLink("Assign Games", "AssignGames")</li>
        <li>@Html.ActionLink("Reports", "Reports")</li>
    </ul>
</div> 

编辑: 我尝试执行以下操作,现在允许将选项卡设置为事件状态,但不再重定向到操作。

  <li class="active" data-toggle="tab">@Html.ActionLink("Dashboard", "Index")</li>
  <li data-toggle="tab">@Html.ActionLink("Users", "Users")</li>

最佳答案

按照本教程进行操作 Setting the active menu item in a MVC C# Bootstrap application 通过添加扩展方法

 public static class HtmlHelpers
{
    public static string IsActive(this HtmlHelper htmlHelper, string action, string controller)
    {
        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" : "";
    }
}

然后使用它

 <li class="@Html.IsActive("Index", "Dashboard")">@Html.ActionLink("Dashboard", "Index")</li>
 <li class="@Html.IsActive("Users", "Users")">@Html.ActionLink("Users", "Users")</li>

关于html - 使 Bootstrap 选项卡在 MVC 操作上处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32637341/

相关文章:

css - 我可以在一个复杂的规范中有多个 CSS 类吗?

asp.net - Web应用程序中的Autofac,我应该将容器存储在哪里以便于访问?

jquery - 无法访问 DOM 元素

jquery - 屏幕中间的CSS斜线

php - 如何使用 php 和 mysql 制作组合框?

php - Laravel 测试页面上元素的顺序

c# - DetailsView 插入的默认值

c# - 使用 ASP.Net 跟踪打开的页面

javascript - 使用 jQuery 我想在 TD 悬停时突出显示表中的列

html - 如何获得类似横幅的页脚?