☰
✕
Главная
© 2002 - 2025
Diary.ru
ASP.NET MVC Выделение активного пункта меню
netcat-na-diary
| понедельник, 18 марта 2013
В шаблоне _Layout.cshtml до html-код создаем хэлпер
@helper CurrentItem(String item){ if (item == ViewContext.RouteData.Values["action"].ToString()) { @:class="current" } }
В меню:
<nav> <ul class="sf-menu"> <li @CurrentItem("Index")>@Html.ActionLink("Home", "Index", "Home")</li> <li @CurrentItem("About")>@Html.ActionLink("About", "About", "Home")</li> <li @CurrentItem("Services")>@Html.ActionLink("Services", "Services", "Home")</li> <li @CurrentItem("Suppliers")>@Html.ActionLink("Suppliers", "Suppliers", "Home")</li> <li @CurrentItem("Contacts")>@Html.ActionLink("Contacts", "Contacts", "Home")</li> </ul> <div class="clear"></div> </nav>
Испр. версия
@helper CurrentItem(String item){ if (item != ViewContext.RouteData.Values["action"].ToString()) { return; } @:class="active" } <ul class="nav nav-list"> <li @CurrentItem("UserTemplateIndex")>@Html.ActionLink("Управление пользователями", "UserTemplateIndex", "Admin")</li> </ul>
Еще один вариант
<ul class="nav nav-list"> @{ var path = Request.Url.AbsolutePath; var menuMap = new Dictionary<string, List<string>>() { {"Управление пользователями", new List<string>() { Url.Action("UserTemplateIndex"), //Url.Action("EditUserTemplate") }} }; } <li @(menuMap["Управление пользователями"].Contains(path)?"class=active":"")>@Html.ActionLink("Управление пользователями", "UserTemplateIndex", "Admin")</li> </ul>
Меню
ASP.NET MVC
@helper
Смотрите также
У фонтана есть еще и уши?
Перемены
Галерея Колонна .
О погоде и ее причинах
Котиков?
Околополитическая психология