Стилизация текущей страницы в меню ASP.NET

У меня есть главная страница с панелью меню и несколькими вложенными страницами. Как лучше всего выделить выбранный пункт меню? Например:

[ Профиль ] [Форум] [Статистика]


Статистика

блблаблбла


person Neir0    schedule 26.05.2011    source источник
comment
Я понятия не имею, о чем вы спрашиваете. Вы серьезно не знаете об использовании стилей CSS?   -  person John Saunders    schedule 26.05.2011
comment
Вы спрашиваете, как узнать, какой из них выделить, или как использовать CSS, чтобы придать вид выделенного пункта меню?   -  person MikeTeeVee    schedule 26.05.2011


Ответы (4)


Это то, что я использую:

    //select menu item with matching NavigateUrl property
    foreach (MenuItem ParentMenu in menu.Items)
    {
        if (ParentMenu.NavigateUrl.ToLower() == Page.AppRelativeVirtualPath.ToLower())
        {
            ParentMenu.Selected = true;
        }
        else
        {
            foreach (MenuItem childMenu in ParentMenu.ChildItems)
            {
                if (childMenu.NavigateUrl.ToLower() == Page.AppRelativeVirtualPath.ToLower())
                {
                    childMenu.Selected = true;
                }
            }
        }
    }
person MikeTeeVee    schedule 26.05.2011

Лучше всего было бы поместить меню в элемент управления. Затем у вас могут быть свойства, такие как SelectedMenu, которые отображают стиль выбранного пункта меню.

Вы можете прочитать о пользовательских элементах управления здесь:

http://msdn.microsoft.com/en-us/library/fb3w5b53.aspx

Поначалу они могут быть немного сложными, но как только вы освоите их, они будут вам очень полезны.

person Tom Gullen    schedule 26.05.2011

вы можете выделить пункт меню на основе текущего URL-адреса.

person Volkmar Rigo    schedule 26.05.2011

Используйте свойства StaticSelectedStyle и DynamicSelectedStyle

person abatishchev    schedule 26.05.2011