Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于用户角色Asp.net c生成菜单_C#_Asp.net - Fatal编程技术网

C# 基于用户角色Asp.net c生成菜单

C# 基于用户角色Asp.net c生成菜单,c#,asp.net,C#,Asp.net,我有两个不同的角色:管理员和普通用户;根据用户输入的菜单,他们将有权访问这些菜单。然而,我不知道如何从这样的网站上获得菜单。它们的角色存储在数据库表中。这是我目前在设计窗口中看到的 <asp:Menu ID="Menu1" runat="server" DynamicHoverStyle-BackColor="#99ccff" Orientation="Horizontal" Font-Size="X-Large" ForeColor="#003366" DynamicEnableDefa

我有两个不同的角色:管理员和普通用户;根据用户输入的菜单,他们将有权访问这些菜单。然而,我不知道如何从这样的网站上获得菜单。它们的角色存储在数据库表中。这是我目前在设计窗口中看到的

<asp:Menu ID="Menu1" runat="server" DynamicHoverStyle-BackColor="#99ccff" Orientation="Horizontal" Font-Size="X-Large" ForeColor="#003366" DynamicEnableDefaultPopOutImage="False" ScrollDownImageUrl="~/Img/1.jpg" StaticEnableDefaultPopOutImage="False" >
    <DynamicHoverStyle BackColor="#99CCFF" />
    <Items>
        <asp:MenuItem NavigateUrl="~/Home/Welcome.aspx" Text="Home" Value="Home" ToolTip="Home" ></asp:MenuItem>
        <asp:MenuItem  Text="Search User"  ToolTip="Search"></asp:MenuItem>

        <asp:MenuItem Text="Add User" Value="Add User">

        <asp:MenuItem  NavigateUrl="~/Account/login.aspx" Text="Log Out"  ToolTip="Log Out"></asp:MenuItem> 
    </Items>
</asp:Menu>
您可以使用会话。检查他是否是管理员,然后显示他的菜单;如果他是普通用户,则显示他的菜单

if(Session["type"]=="admin")
{
//
}
else if(Session["type"]=="regularUser")
{
//
}
为菜单项添加ID,使其具有不同的名称。在管理项上设置visible='false' 在代码隐藏文件中,检查用户是否是管理员。如果是,则在管理项上设置visible=true。 根据您的需求,您可以禁用它们,在这种情况下,它们会出现在菜单中,但除非用户是管理员,否则无法工作

菜单项:

代码隐藏将遵循以下原则:

如果user.isAdmin { menu1.Visible=true
}

这个答案对您有帮助吗?必须从数据库中提取类型是的,您需要这样做,如果是这样的话,那么在会话之后菜单是如何发挥作用的根据您的期望,您只需要了解if-else结构。你需要展示什么或不展示什么完全取决于你。你要理解这个结构,但是当涉及到导航部分时。
if(Session["type"]=="admin")
{
//
}
else if(Session["type"]=="regularUser")
{
//
}