У меня есть пользовательское меню, которое использует стандартную карту сайта asp.net. Это работает хорошо, но некоторые из моих страниц динамически генерируются при переписывании URL-адресов, поэтому они не помещаются в XML-файл карты сайта. На данный момент я накатил собственное решение, которое показывает / скрывает пункты меню через класс CSS и программную проверку роли, в которой находится пользователь. Это работает нормально, пока я не посещаю динамическую страницу, которая не существует в файле карты сайта. Я пробовал атрибут "role" в файле карты сайта с усечением безопасности, но он не работает, потому что у меня есть пользовательское меню.
Можно ли как-нибудь использовать атрибут ролей в файле карты сайта, чтобы показать / скрыть пункты меню для моего пользовательского элемента управления ниже, даже если некоторые страницы отсутствуют в карте сайта? Мое меню управления ниже ...
<div class="menu">
<ul>
<asp:Repeater ID="rpt" runat="server" DataSourceID="smdsMenuPrimary"
EnableViewState="False">
<ItemTemplate>
<li class="<%#GetDisplayClass((SiteMapNode)Container.DataItem)%>"><a href='<%# ((SiteMapNode)Container.DataItem).Url %>'><%# ((SiteMapNode)Container.DataItem).Title %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>