#c# #asp.net #menu
#c# #asp.net #меню
Вопрос:
//Create user, create group
else if ((PermissionList.Any(item => item.Equals("Create group"))) amp;amp; (PermissionList.Any(item => item.Equals("Create user"))) amp;amp; (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 комбинаций. итак, для каждой комбинации я выполняю код для добавления элементов в меню, как я могу добавить все пункты меню и удалить тот, для которого у пользователей нет разрешения. Например, если пункты меню
— «группы, пользователи, сообщения, поддержка», то, если пользовательское разрешение «создать пользователя», тогда я должен удалить группы и сообщения из меню, как я могу это сделать.
Комментарии:
Ответ №1:
Я не уверен в особенностях работы вашей логики, но точно так же, как вы используете Add
метод для Items
сбора вашего меню, вы можете использовать методы Remove
or RemoveAt
для удаления элементов меню.
Итак, что-то вроде
if( Some Condition that means the user shouldn't have the "Message" privilege)
{
NavigationMenu.Items.RemoveAt(messageMenuItemIndex);
}