我正在使用MVC 4(Razor)。 我的HTML设计包含一个菜单(使用某种javascript组件), 我正在寻找一种智能的方式来标记菜单,我目前正在使用哪个页面。
<li class="glyphicons home currentScroll active"><a href="index.html?lang=en"><i></i><span>Dashboard</span></a></li>
<li class="glyphicons charts"> <a href="@Url.Action("Index", "Campaigns")"><i></i><span>Campaigns</span></a> </li>
<li class="glyphicons sort"> @Html.ActionLink("Home", "Index", "Home")</li>
<li class="glyphicons picture"> <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
如果您看到标记了有效li
,如果我想在_layout.cshtml
页面中使用此菜单,如何根据我当前正在加载的页面更改活动标记?
答案 0 :(得分:5)
检查一下:
var controller = (string)ViewContext.RouteData.Values["controller"];
var action = (string)ViewContext.RouteData.Values["action"];
对于每个菜单项检查等于菜单控制器和当前控制器(和操作,可能是)