Posted By: mrichman | Sep 30th, 2006 @ 3:50 PM
page 1 of 1
Comments: 2 | Views: 5468
mrichman
mrichman
Mark A. Richman
I have the following nav template:

<asp:Repeater ID="TopNavRepeat" runat="server"
DataSourceID="SiteMapDataSource1">
   <HeaderTemplate>
      <ul>
   </HeaderTemplate>
   <ItemTemplate>
      <li>
      <asp:HyperLink ID="HyperLink1" runat="server"
       Text='<%# Eval("Title") %>' NavigateUrl='<%# Eval("Url") %>'
       ToolTip='<%# Eval("Description") %>' />
      </li>
   </ItemTemplate>
   <FooterTemplate>
      </ul>
   </FooterTemplate>
</asp:Repeater>

How do I render the <li> for only those sitemap nodes for which the user's role has access? (i.e. roles="Admins" in Web.sitemap)

Thanks,
Mark
W3bbo
W3bbo
The Master of Baiters
mrichman wrote:
How do I render the <li> for only those sitemap nodes for which the user's role has access? (i.e. roles="Admins" in Web.sitemap)


Methinks like:


<asp:Repeater ID="TopNavRepeat" runat="server"
DataSourceID="SiteMapDataSource1">
   <HeaderTemplate>
      <ul>
   </HeaderTemplate>
   <ItemTemplate>
    <% if(User.Identity.IsInRole( "Admins" ) { %>
      <li>
      <asp:HyperLink ID="HyperLink1" runat="server"
       Text='<%# Eval("Title") %>' NavigateUrl='<%# Eval("Url") %>'
       ToolTip='<%# Eval("Description") %>' />
      </li>
    <% } %>
   </ItemTemplate>
   <FooterTemplate>
      </ul>
   </FooterTemplate>
</asp:Repeater>
page 1 of 1
Comments: 2 | Views: 5468
Microsoft Communities