我正在尝试在MVC中向我的bootstrap导航栏中添加一个"活动"类,但是以下内容在显示时不会显示活动类:
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home", null, new {@class="active"})</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这解析为看起来像格式正确的类,但不起作用:
<a class="active" href="/">Home</a>
Run Code Online (Sandbox Code Playgroud)
在Bootstrap文档中,它指出不应在导航栏中使用'a'标签,但以上是我认为将类添加到Html.ActionLink的正确方法.我可以做另一种(整洁的)方式吗?
作为讨论的基础.创建一个标准的ASP.NET MVC Web项目.
它将在母版页中包含两个菜单项:
<div id="menucontainer">
<ul id="menu">
<li>
<%= Html.ActionLink("Home", "Index", "Home")%></li>
<li>
<%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
如何设置指示当前页面的可视CSS样式.例如,在About页面/控制器中,我基本上想要这样做:
<%= Html.ActionLink("About", "About", "Home", new {class="current"})%></li>
Run Code Online (Sandbox Code Playgroud)
当然,当在主页上时:
<%= Html.ActionLink("Home", "Index", "Home", new {class="current"})%></li>
Run Code Online (Sandbox Code Playgroud)
(CSS样式名称当前在菜单中可视地指示这是当前页面.)
我可以将菜单div从主页面分成内容占位符,但这意味着我必须将菜单放在每个页面上.
任何想法,有一个很好的解决方案吗?