在ASP.NET菜单中设置当前页面的样式

问题描述

| 我有菜单栏的母版页和一些嵌套页面。突出显示所选菜单项的最佳实践是什么?例如: [个人资料] [论坛] [统计] 统计 blblalbla     

解决方法

这是我用的:
    //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;
                }
            }
        }
    }
    ,最好的方法是将菜单放在控件中。然后,您可以使用诸如“ 1”之类的属性,这些属性呈现所选菜单项的样式。 您可以在此处阅读有关用户控件的信息: http://msdn.microsoft.com/zh-CN/library/fb3w5b53.aspx 起初它们可能有些棘手,但是一旦掌握了它们,它们对您将非常有用。     ,您可以根据当前网址突出显示菜单项。     ,使用
StaticSelectedStyle
DynamicSelectedStyle
属性