[英]Generating menu based on user role Asp.net c#
我有2个不同的角色(管理员和普通用户); 根据仅输入了他们有权访问的菜单的用户。 但是,我不确定如何从中获取菜单。 它们的角色存储在数据库表中。 到目前为止,这是我在设计窗口中所拥有的。
<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 (dr.Read())
{
if (Convert.ToString(dr["RoleName"]) == "Administrator")
{
Menu1.Items.Add(new MenuItem
{
NavigateUrl = "~/Home/Welcome.aspx",
Text = "Home",
});
}
}
visible='false'
visible=true
。 根据您的要求,您可以禁用它们(在这种情况下,它们会出现在菜单中,但除非用户是管理员,否则它们将不起作用)。
菜单项: <asp:MenuItem ID="menu1" visible="false" Text="Add User" Value="Add User">
后面的代码如下:
if (user.isAdmin) { menu1.Visible = true }
您可以使用Session 。 检查他是否是管理员,然后显示他的菜单,如果他是普通用户,则显示他的菜单。
if(Session["type"]=="admin")
{
//
}
else if(Session["type"]=="regularUser")
{
//
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.