« Все записи

ASP.NET MVC: подсветка текущей страницы в меню

Оригинал статьи

Вот изящный трюк с использованием MVC ViewBag для подсветки ссылки текущей страницы в вашем меню.

Добавьте следующий код внизу вашей шаблонной (мастер-) страницы:

@if (!string.IsNullOrEmpty(ViewBag.CurrentPage)) {       
    <script type="text/javascript">
        $(function () {
            $("a[title=@ViewBag.CurrentPage]").addClass("active");
        });        
    </script>
}

В вашем меню необходимо добавить атрибут title, который соответствует странице, на которую она ссылается, например:

<a href="@Url.Action("index", "project")" title="projects">Projects</a>

Теперь в вашем представлении или в методах действя контроллера установите свойство ViewBag.CurrentPage:

@{
    ViewBag.Title = "Projects";
    ViewBag.CurrentPage = "projects";
}

Теперь, когда вы переходите на страницу, это ссылка меню получит css класс "active", для которого можно установить соответствующие стили:

Progg it

comments powered by Disqus