2012-03-14 2 views
0

Я привязываю карту web.sitemap к asp:Menu и хочу назначить классы элементам меню, для которых требуется вход в систему.Как добавить класс в заблокированные страницы в asp: Меню

Я знаю, что в разделе siteMap файла web.config, если я установил securityTrimmingEnabled="true", он будет показывать только те предметы, которые доступны этому пользователю (роли/выходят из системы/вошли в систему). Это нормально со мной, но пользователи хотят видеть эти ссылки.

Так что я пытаюсь сделать индикатор того, что эти страницы заблокированы, желательно добавить класс к этим ссылкам.

Заранее благодарен!

+0

Per [this meta discussion] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts), удаляя такие вещи, как «Привет »и« Спасибо »от сообщений - довольно стандартная процедура. Я никоим образом не пытался искоренить ваш вопрос. – jadarnel27

+0

Я понимаю, но я соглашаюсь на ответ RSolberg. – tedski

ответ

1

Вы можете использовать обычай ITemplate для объекта DynamicItemTemplate объекта Menu. В качестве альтернативы (я думаю, с меньшим количеством кода, но я никогда не пробовал) вы можете присоединить к событию MenuItemDataBound.

+0

Звучит неплохо, но любая идея о том, как я поймаю, будет ли страница требовать, чтобы пользователь вошел в систему? – tedski

+0

Создайте свой ITemplate (см. Ссылку для примера), прикрепите в debug и посмотрите, что вы получаете. У SiteMapNode есть способ проверить, доступен ли он для текущего входа в систему или нет. –

+0

Я не могу понять, как это сделать, я пробовал метод MenuItemDataBound, и DataItems на самом деле не имеют свойства, если они доступны или нет. Что касается ITemplate, я не могу понять, как создать пользовательский или получить этот метод с SiteMapNode. – tedski

Смежные вопросы