在ASP.NET菜单控件中设置item.selected

前端之家收集整理的这篇文章主要介绍了在ASP.NET菜单控件中设置item.selected前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
ASP.NET新手在这里.当我在页面上时,我想将相应的菜单项设置为选中.我的方法是这样的:
在Home.aspx.cs上:
Menu menu = (Menu)Master.FindControl("Menu1");

if (menu.Items.Count > 0)
{
    menu.FindItem("Home").Selected = true;
}

麻烦的是,menu.item.count == 0.
如果重要的话,我的菜单会绑定到站点地图.

解决方法

我认为你必须在MenuItemDataBound事件上设置所选项目(调整你的代码):
protected void Menu1_MenuItemDataBound(object sender,MenuEventArgs e)
{
    if (SiteMap.CurrentNode != null)
    {
        if (e.Item.Text == SiteMap.CurrentNode.Title)
        {
            e.Item.Selected = true;
        }
    }
}

更多内容显示如何处理菜单中的链接,该菜单具有站点地图的数据源…

要在新窗口中打开从web.sitemap构建的菜单链接

在asp.net页面添加OnMenuItemDataBound事件:

<asp:Menu ID="mnuFooter" runat="server"
DataSourceID="SiteMapDataSource1"
OnMenuItemDataBound="mnuFooter_MenuItemDataBound">
</asp:Menu>

在web.sitemap中,添加一个?网址的字符:

在后面的代码中,捕获MenuItemDataBound事件:

protected void mnuFooter_MenuItemDataBound(Object sender,MenuEventArgs e)
{
    if (e.Item.NavigateUrl.Contains("?"))
    {
        e.Item.Target = "_blank";
    }
}

web.sitemap中包含?的任何网址?将在新窗口中打开.注意,使用任何其他有效的网址字符代替?如有必要.

ASP.NET Menu Control Overview

猜你在找的asp.Net相关文章