对于新应用程序,我们使用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 & 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构建它,我想知道如何根据显示的视图动态设置它。
答案 0 :(得分:0)
不确定这方面的最佳做法。你可以尝试这样的事情:
<li class="@( RouteVariable.CurrentController.Equals("Home") ? "active" : "")">
或者RouteVariables.CurrentAction可能有用。