0

对于一个新应用程序,我们使用的是 Bootstrap v3.0,它的导航菜单定义如下:

<div id="sidebar">
    <ul>
        <li class="active"><a href="dashboard.html"><i class="icon-home"></i> <span>Dashboard</span></a></li>
        <li class="submenu">
            <a href="#"><i class="icon-beaker"></i> <span>UI Lab</span> <i class="arrow icon-chevron-right"></i></a>
            <ul>
                <li><a href="interface.html">Interface Elements</a></li>
                <li><a href="jquery-ui.html">jQuery UI</a></li>
                <li><a href="buttons.html">Buttons &amp; icons</a></li>
            </ul>
        </li>
        <li class="submenu">
            <a href="#"><i class="icon-th-list"></i> <span>Form elements</span> <i class="arrow icon-chevron-right"></i></a>
            <ul>
                <li><a href="form-common.html">Common elements</a></li>
                <li><a href="form-validation.html">Validation</a></li>
                <li><a href="form-wizard.html">Wizard</a></li>
            </ul>
        </li>...

这当前位于共享的 _Layout.cshtml 中,目前不需要将其移动到自己的共享视图中。

布局模板由几个静态文件组成,并<li class="active">为该文件中的相应菜单项进行了硬编码。

由于我使用 MVC4 构建它,我想知道如何根据显示的视图动态设置它。

4

1 回答 1

0

不确定这方面的最佳实践。你可以尝试这样的事情:

<li class="@( RouteVariable.CurrentController.Equals("Home") ? "active" : "")">

或者 RouteVariables.CurrentAction 可能有用。

于 2013-11-07T17:18:05.407 回答