//Create user, create group
else if ((PermissionList.Any(item => item.Equals("Create group"))) && (PermissionList.Any(item => item.Equals("Create user"))) && (PermissionList.Any(item => item.Equals("Create message"))))
{
NavigationMenu.Items.Add(new MenuItem
{
Text = "Users",
NavigateUrl = "~/Users.aspx"
});
NavigationMenu.Items.Add(new MenuItem
{
Text = Groups",
NavigateUrl = "~/Groups.aspx"
});
}
<asp:Menu ID="NavigationMenu" runat="server" RenderingMode="Table" CssClass="menu"
EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
</Items>
</asp:Menu>
</div>
我根据用户权限在菜单中添加项目,因为我有许多权限组合,我必须做很多条件,它是20多个组合。所以对于每个组合我正在执行代码以向菜单添加项目,如何添加所有菜单项并删除用户没有权限的项目。如果菜单项是 “组,用户,消息,支持”然后如果用户权限是“创建用户”,那么我应该从菜单中删除组和消息,我该怎么做。
答案 0 :(得分:3)
我不确定您的逻辑是如何工作的,但与您使用Add
方法对菜单Items
集合的方法相同,您可以使用{ {3}}或Remove
方法可以取走菜单项。
所以,像
if( Some Condition that means the user shouldn't have the "Message" privilege)
{
NavigationMenu.Items.RemoveAt(messageMenuItemIndex);
}