加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:09:30 所属栏目:asp.Net 来源:网络整理
导读:ASP.NET新手在这里.当我在页面上时,我想将相应的菜单项设置为选中.我的方法是这样的: 在Home.aspx.cs上: Menu menu = (Menu)Master.FindControl("Menu1");if (menu.Items.Count 0){ menu.FindItem("Home").Selected = true;} 麻烦的是,menu.item.count ==
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读