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

Add items to menu dynamically in asp.net website(在 asp.net 网站中动态添加项目到菜单)
本文介绍了在 asp.net 网站中动态添加项目到菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

<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>

我在母版页中有这个菜单,当用户登录网站时,基于用户角色,我想从服务器端向菜单添加项目.我该怎么做.

I have this menu in master page, When the user logs into the website, based on the user role I want to add items to the menu from the server side. How can I do that.

Admin(添加菜单--> 组织、消息、组)用户(要添加的菜单 --> 消息、群组)

Admin(menu to add --> Organisation, Message, Group) Users(menu to add --> Message, Group)

因为我有 6 个角色,所以每个角色都有不同的菜单项.这怎么办

Since I have 6 roles I have different menu item for each role. How can this be done

推荐答案

在master的Page_Load中可以查看用户是否在某些角色中,动态添加值到菜单:

In the Page_Load of the master you could check whether the user is in some roles and dynamically add values to the menu:

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

这篇关于在 asp.net 网站中动态添加项目到菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

ActiveDirectory error 0x8000500c when traversing properties(遍历属性时 ActiveDirectory 错误 0x8000500c)
search by samaccountname with wildcards(使用通配符按 samaccountname 搜索)
Get the list of Groups for the given UserPrincipal(获取给定 UserPrincipal 的组列表)
Can you find an Active Directory User#39;s Primary Group in C#?(你能在 C# 中找到 Active Directory 用户的主要组吗?)
Query From LDAP for User Groups(从 LDAP 查询用户组)
How can I get DOMAINUSER from an AD DirectoryEntry?(如何从 AD DirectoryEntry 获取 DOMAINUSER?)