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

时间:2011-05-26 13:55:35

标签: c# .net asp.net menu

我有母版页面,菜单栏和一些嵌套页面。突出显示所选菜单项的最佳做法是什么?例如:

[个人资料] [论坛] [统计]


统计

blblalbla

4 个答案:

答案 0 :(得分:1)

这就是我使用的:

    //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 :(得分:0)

最好的方法是将菜单放在控件中。然后,您可以使用SelectedMenu等属性来呈现所选菜单项的样式。

您可以在此处阅读有关用户控件的信息:

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

一开始它们可能有点棘手,但是一旦掌握了它们,它们对你们非常有用。

答案 2 :(得分:0)

您可以根据当前网址突出显示菜单项。

答案 3 :(得分:0)

使用StaticSelectedStyleDynamicSelectedStyle属性