选择新元素时,如何更改活动的<li>元素?

麦克风

我正在开发一个ASP .NET项目,并且页面的侧面有一个导航栏。

<div class="navbar-inverse" role="navigation">
    <div class="collapse navbar-collapse navbar-ex1-collapse">
        <ul class="nav navbar-nav side-nav">
            <li class="active">@Html.ActionLink("Dashboard", "Index", "Home", null, null)</li>
            <li>@Html.ActionLink("Marketing", "Marketing", "Home", null, null)</li>
            <li>@Html.ActionLink("Sales Overview", "SalesOverview", "Home", null, null)</li>
        </ul>
    </div> 
</div>

有源元件当然是第一个。在导航栏上,这意味着该特定选择比其余选择略暗。navbar但是,当我单击中的其他选项时,该选项仍处于活动状态。我对html相当陌生,想到的解决方案是为每个分配一个<li>an idonclick然后编写一些JavaScript,以在单击该ID时将其ID更改为active。

这似乎是一种回旋的方式,可以做一些应该包含在其中的事情<ul>所以我的问题是,是否有一种更简单的方法来实现更好的伸缩性(这里的意思是,我可能会向导航栏添加更多的东西,我不希望每个方法都有onclick方法)。

Shared/~Layout顺便说一句,上面的代码在中,因此不像为每个页面定义单独的但相似的视图那样简单,实际上需要以某种方式更新此视图。

麦克风

我想出了一个非常简单且不太难扩展的解决方案。Controller操作链接所引用的每种方法中,我将拥有:

public ActionResult Index()
{
     ViewBag.Index="active";
     return View();
}

其他所有项目也是如此。然后在视图中:

<li [email protected]>...
<li [email protected]>...

由于其他所有字符串都是空字符串,因此除该字符串之外没有分配任何类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章