【问题标题】:dynamicaly add menu itmes to asp:Menu将菜单项动态添加到 asp:Menu
【发布时间】:2011-02-09 14:56:35
【问题描述】:

我在母版页的设计时定义了 asp:Menu。

我想在页面加载事件后面的母版页代码中检查一下,如果用户处于开发人员角色,那么他们将获得一组额外的菜单项。

如何使用 c# 将菜单项从后面的代码添加到 asp:menu?

我没有使用站点地图提供商!

【问题讨论】:

    标签: c# asp.net aspmenu


    【解决方案1】:

    把它放在你的代码后面:

    Menu1.Items.Add(new MenuItem("Text", "Value"));
    

    【讨论】:

    • 链接菜单项的 url 怎么样?这些信息去哪儿了?
    • @kacalapy - 这真的取决于您的代码 - 如果您查看 html 源代码,您认为其他项目的值是什么?它们是 URL 吗?如果是,那么他们很可能会进入“价值”字段。
    【解决方案2】:

    有时 MSDN 是您最好的选择:http://msdn.microsoft.com/en-us/library/ecs0x9w5(VS.80).aspx - 全部关于菜单控件 :-)

    【讨论】:

      【解决方案3】:

      您是否使用站点地图提供商来填充您的菜单?

      如果是这样,如果用户是开发人员,请将角色属性添加到要显示的所有节点。

      例如

      <siteMapNode title="Home" url="~/Developer/Default.aspx" roles="Developer" />
      

      然后在您的 Menu ItemDataBound 事件中进行检查以查看登录用户是否是开发人员。将显示相应的节点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 1970-01-01
        • 2022-11-11
        • 2013-03-26
        • 1970-01-01
        相关资源
        最近更新 更多