Asp.net mvc 4 MVC4当视图处于活动状态时,如何将li类设置为活动

Asp.net mvc 4 MVC4当视图处于活动状态时,如何将li类设置为活动,asp.net-mvc-4,Asp.net Mvc 4,大家好,我的\u布局如下 <div id="primary_nav"> <ul> <li class="left active" id="nav_discussion" runat="server"> <a title="Go to Forums" href="@Url.Action("Index", "Home")">Forums</a> </li>

大家好,我的
\u布局如下

<div id="primary_nav">
    <ul>
        <li class="left active" id="nav_discussion" runat="server">
          <a title="Go to Forums" href="@Url.Action("Index", "Home")">Forums</a>
       </li>
       <li class="left" id="nav_members" runat="server">
          <atitle="Go to Member List" href="@Url.Action("Members", "Home")">Members</a>
       </li>
    </ul>
</div>

我将其用作我创建的每个视图的
布局或母版页
,现在我需要的是当我移动到
…主页/Members
时,我想将Members选项卡设置为活动状态


我建议您为此编写一个自定义帮助程序。我在这里举例说明了如何实现这一点:


当然,您可以在_布局中编写一些意大利面代码(正如您已经开始的那样),并使用RoutedData测试当前控制器和操作,测试它是否等于指定的值,并应用一些自定义CSS类使其处于活动状态。我宁愿不举一个例子,因为我认为这是一个很糟糕的练习。将菜单项封装在可重用的助手中是我要做的。

我建议您在单击成员时使用Jquery从表单中删除类“left active”,并将其添加到成员中。。这将是一个简单的解决方案

如果在布局文件中设置活动类,我不确定是否可以执行此操作。我认为您必须将菜单定义为参数化局部视图,或者使用JavaScript。是的,您可以这样做,因为视图是在_布局及其所有属性可用之前呈现的。可以使用ViewBag或@DarinDimitrov的回答我打算建议使用ViewBag,但我更喜欢这个解决方案+1当您直接导航到页面时,jquery会做什么?