powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сделать невидимым MenuItem
11 сообщений из 11, страница 1 из 1
Как сделать невидимым MenuItem
    #33794874
opfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Надо программно в зависимости от определенных условий делать невидимым тот или иной MenuItem. Cвойства Visible у MenuItem нет, надо как-то обойти, а как для меня не понятно?

Спасибо!
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33795513
Page1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В своё время столкнулся с той же проблемой.
Человеческого решения тоже не нашел, так что просто удалял лишние строки..
что-то типа этого:
Код: plaintext
1.
2.
3.
mi = this.mainMenu.FindItem("Reports/Custom program report");
permission = Permissions.Get("MenuItem.CustomProgramReport");
if (mi != null && !permission.Read) mainMenu.FindItem("Reports").ChildItems.Remove(mi);

Найдете изящнее - расскажите. Тоже интересно..
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33795595
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНадо программно в зависимости от определенных условий делать невидимым тот или иной MenuItem. Cвойства Visible у MenuItem нет, надо как-то обойти, а как для меня не понятно?

незнаю что за версия ASP.NET но во второй в качестве сурса менюшки можно задавать xml файл - если мудро отнестись к этому обстоятельству - то не так уже и трудно подсовывать необходимый xml в необходимой ситуации ;)
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33795850
Page1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vladgrig
незнаю что за версия ASP.NET но во второй в качестве сурса менюшки можно задавать xml файл - если мудро отнестись к этому обстоятельству - то не так уже и трудно подсовывать необходимый xml в необходимой ситуации ;)

Я имел ввиду 2.0.
Согласитесь, не слишком радужна перспектива плодить xml'ники только для того, чтобы управлять разрешениями на показ некоторых пунктов меню в зависимости от прав пользователя.
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33795878
left_join
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Page1Согласитесь, не слишком радужна перспектива плодить xml'ники только для того, чтобы управлять разрешениями на показ некоторых пунктов меню в зависимости от прав пользователя.ну, хмл-ник может быть и один... + метод, вытаскивающий из него хмл-ник для меню, с выбором нодов из исходного хмл-ника в зависимости от прав пользователя
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33796093
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСогласитесь, не слишком радужна перспектива плодить xml'ники только для того, чтобы управлять разрешениями на показ некоторых пунктов меню в зависимости от прав пользователя.
решений можно найти много - главное ТВОРЧЕСКИЙ подход к этому...
сейчас не могу найти, но где то у MS видел видео-примеры по этому делу - там в качестве сурса использовался sitemap - теперь и неприпомню как они реализовали доступ\сокрытие пунктов меню - но то что это они показывали (как делается) точно было (причём не так проблематично и без всякого удаления пунктов)
P.S. согласитесь и вы, что не совсем радужна перспектива удалять ненужные пункты меню в зависимости от имени\роли пользователя.
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33796221
Page1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vladgrig
P.S. согласитесь и вы, что не совсем радужна перспектива удалять ненужные пункты меню в зависимости от имени\роли пользователя.
Вообще кошмар.. Задача-то тривиальна и далека от творчества по сути..
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33796676
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВообще кошмар.. Задача-то тривиальна и далека от творчества по сути..
вот по этому и решение такое странное ;) я же говорю - к этим вопросам - ПОСТРОЕНИЕ САЙТА - надо подходить с душой, а не тупо-механически...
вот посмотри - как подобное делается - очень наглядно...
Там используют SiteMap и TreeView - скажу неплохо у них получается ;)
картинка из ролика Membership and Roles - поймёшь (надеюсь) к чему она тут...
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33796726
Page1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vladgrigпоймёшь (надеюсь) к чему она тут...
Действительно.. Признаюсь, недостаточно поковырял в своё время этот SiteMap и не заметил у него этого SecurityTrimming'а
Изучение 2ого фрэймворка для меня проходило сразу в процессе написания заказного проекта - так что еще много неосвоенной целины осталось.

Спасибо за линк - интересное кино :-]
...
Рейтинг: 0 / 0
Как сделать невидимым MenuItem
    #33796775
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСпасибо за линк - интересное кино :-]
вот ещё - будет чем на выходных заняться ;)
P.S. по сабжу - Create a Full-Featured Customer Login Portal
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как сделать невидимым MenuItem
    #38105379
Leonid.S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доступ в ASP, как известно, к папкам, в которых страницы с сылками на мастер-страницы.
Плодим множество мастер страниц, в которых свои элементы MenuItem.
Но более изящный способ - SiteMap (Карта сайта), описан в Нейгел К. и др. (Nagel C.) C# 2005 и платформа .NET 3.0 для профессионалов. (Гл. 32 – 37) – М.: «Диалектика» 2008.
Вот пример из книги (PcsDemoSite):
Файл Web.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
<siteMapNode url="~/Default.aspx" title="Home">
<siteMapNode url="~/About/Default.aspx" title="About" />
<siteMapNode url="~/MRB/Default.aspx" title="Meeting Room Booker" roles="RegisteredUser,SiteAdministrator" />
<siteMapNode url="~/Configuration/Default.aspx" title="Configuration" roles="RegisteredUser,SiteAdministrator">
<siteMapNode url="~/Configuration/Themes/Default.aspx" title="Themes" roles="RegisteredUser,SiteAdministrator"/>
</siteMapNode>
<siteMapNode url="~/Users/Default.aspx" title="User Area" roles="SiteAdministrator" />
<siteMapNode url="~/Login.aspx" title="Login Details" />
</siteMapNode>
</siteMap>

А на мастер странице есть элементы, указывающие на карту сайта:

<asp:SiteMapPath ID="SiteMapPath1" runat="server" CssClass="breadcrumb" />
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" ShowLines="True" />
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сделать невидимым MenuItem
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]