在asp.net网站中动态添加项目到菜单

Man*_*ano 7 c# asp.net menu uinavigationbar

<asp:Menu ID="mnu" runat="server" PathSeparator="," CssClass="menu" DynamicMenuItemStyle-CssClass="menu">
    <Items>
        <asp:MenuItem Text="home" NavigateUrl="~/Default.aspx"  />
        <asp:MenuItem Text="Aboutus" NavigateUrl="#"/>
        <asp:MenuItem Text="Support" NavigateUrl="#" />


    </Items>
</asp:Menu>
Run Code Online (Sandbox Code Playgroud)

我在母版页中有这个菜单,当用户登录网站时,根据用户角色我想从服务器端向菜单添加项目.我怎样才能做到这一点.

管理员(要添加的菜单 - >组织,消息,组)用户(要添加的菜单 - >消息,组)

由于我有6个角色,因此每个角色都有不同的菜单项.如何才能做到这一点

Dar*_*rov 7

Page_Load主服务器中,您可以检查用户是否处于某些角色并动态地向菜单添加值:

protected void Page_Load(object sender, EventArgs e)
{
    if (User.IsInRole("admin"))
    {
        mnu.Items.Add(new MenuItem
        {
            Text = "Administer web site",
            NavigateUrl = "~/admin.aspx"
        });
    }
}
Run Code Online (Sandbox Code Playgroud)