【问题标题】:Twitter bootstrap nav in asp.net application active class?asp.net应用程序活动类中的Twitter引导导航?
【发布时间】:2012-08-14 14:13:42
【问题描述】:

我在一个 asp.net 应用程序中使用 Twitter 引导程序,下面是我的导航栏代码:

        <div class="navbar">
          <div class="navbar-inner">
            <div class="container">
                <a class="brand" href="../">MyApp</a>
                <ul class="nav">
                    <li class="active"><a href="../">Home</a></li>
                    <li><a href="../About.aspx">About us</a></li>
                    <li><a href="../ContactUs.aspx">Contact us</a></li>
                </ul>
            </div>
          </div>
        </div>

每次我在链接到菜单项的页面上时,我都想更改活动菜单项。我该怎么做?

【问题讨论】:

    标签: javascript asp.net twitter-bootstrap


    【解决方案1】:

    @Toby Jones 确实提出了一个很好的辅助方法。但是,有些人可能只想通过控制器选择菜单项,而其他人可能希望通过控制器和动作的组合来选择菜单项。 Toby 提到的文章中提到的解决方案只考虑了第二种情况。

    TwitterBootstrapMvc 涵盖这两种情况,语法如下:

    @using (var nav = Html.Bootstrap().Begin(new Nav().SetLinksActiveByControllerAndAction()))
    {
        @nav.ActionLink("Link 1", MVC.Account.SomeAction())
        @nav.ActionLink("Link 2", "SomeOtherAction")
    }
    

    方法.SetLinksActiveByControllerAndAction() 可以替换为方法.SetLinksActiveByController(),这适用于第一种情况。

    还值得一提的是,DropDowns 上提供了相同的扩展方法:

    @using (var dd = Html.Bootstrap().Begin(new DropDown("Some Trigger").SetLinksActiveByController()))
    {
        @dd.ActionLink("Some link", "action")
    }
    

    【讨论】:

    • 文章已被删除,能否进一步解释一下“MVC.Account.SomeAction()”?
    • BMVC 支持T4MVC。看看就明白了
    【解决方案2】:

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然这在理论上可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。
    【解决方案3】:

    使用 JavaScript,您可以使用以下代码获取当前路径:

    var currentPath = window.location.pathname;
    

    并将活动类添加到当前项目,如下所示:

    $(".menu a[href='" + currentPath + "']").parent().addClass("active");
    

    【讨论】:

      猜你喜欢
      • 2014-05-31
      • 1970-01-01
      • 2022-06-23
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 2012-11-16
      相关资源
      最近更新 更多