2011-02-01 2 views
1

약간의 문제가 있습니다. 목록에서 구조화 된 일부 ASP : 하이퍼 링크로 메뉴를 만들었습니다. web.sitemap에 정의 된 "역할"과 관련하여 이러한 asp : 하이퍼 링크 중 일부를 필터링 할 수 있는지 궁금합니다.asp로 역할 분담 : 하이퍼 링크 메뉴

 <ul id="topnav"> 
     <li>Dep 
      <span> 
       <asp:HyperLink Text="testing one" NavigateUrl="/DEP/ENC/Dep_Enc.aspx" runat="server">Encode </asp:HyperLink> 
       <asp:HyperLink Text="testing two" NavigateUrl="/DEP/ENC/Dep_Enc_D.aspx" runat="server">Nouveau contrat</asp:HyperLink> 

... 


    <siteMapNode > 
    <siteMapNode url="/DEP/Dep_Ac.aspx" title="Dép" > 
     <siteMapNode url="/DEP/ENC/Dep_Enc.aspx" roles="ALL" > 
     <siteMapNode url="/DEP/ENC/Dep_Enc_D.aspx" roles="ADMIN"/> 
... 

그래서 사용자가 "관리자"가 아닌 경우 시험 두 가지를 사라지게 할 수 있습니다 : 예를 들어

? 도움을 주셔서 감사합니다.

답변

1

언제든지 runat="server" 속성을 id과 함께 기본 html 태그에 추가 할 수 있습니다. 귀하의 경우에는, 당신은 필요에 따라 <li> 또는 <span>이를 추가 할 수

<ul id="topnav"> 
    <li runat="server" id="adminLinks">Dep 
    <span> 
     <asp:HyperLink Text="testing one" NavigateUrl="/DEP/ENC/Dep_Enc.aspx" runat="server">Encode </asp:HyperLink> 
     <asp:HyperLink Text="testing two" NavigateUrl="/DEP/ENC/Dep_Enc_D.aspx" runat="server">Nouveau contrat</asp:HyperLink> 

... 

를 그런 다음 코드에서 뒤에, (심지어 HTML로 렌더링되지 않습니다)을 숨기기 위해 Visible 속성을 사용 :

if (!User.IsInRole("Admin")) 
{ 
    adminLinks.Visible = false; 
}