2011-03-21 4 views
0

내 리피터에 테이블을 빌드하고 역할 관리에있는 사용자의 열만 표시하려고합니다.
HeaderTemplate 및 ItemTemplate에서 열을 제거해야합니다.
나는 데이터 논리를 사용하고 부울이 될 db 열을 추가 할 수 있지만 SP에 사용자 역할을 보내야합니다.데이터 로직이없는 리피터 조건부 뷰

<asp:Repeater ID="TemplatesList" runat="server"> 
    <HeaderTemplate> 
     <table> 
      <tr> 
       <th> 
        # 
       </th> 
       <th> 
        Title 
       </th> 
       <th> 
        Subject 
       </th> 
       <th> 
        &nbsp; 
       </th> 
       <th> 
        &nbsp; 
       </th> 
      </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td> 
       <%# Eval("ET_ID")%> 
      </td> 
      <td> 
       <%# Eval("ET_Title")%> 
      </td> 
      <td> 
       <%# Eval("ET_Subject")%> 
      </td> 
      <td> 
       <a href="<%# VirtualPathUtility.ToAbsolute("~/Admin/EmailsTemplates/Delete.aspx?id="+Eval("ET_ID").ToString())%>"> 
        Delete</a> 
      </td> 
      <td> 
       <a href="<%# VirtualPathUtility.ToAbsolute("~/Admin/EmailsTemplates/Edit.aspx?id="+Eval("ET_ID").ToString())%>"> 
        Edit</a> 
      </td> 
     </tr> 
    </ItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

답변

2

당신은 당신이 역할에 따라 콘텐츠를 선택할 수 있습니다 LoginView 컨트롤을 사용할 수있는 것보다 열을 숨기려면 :

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.loginview.aspx

이 템플릿

또는 당신이 할 수있는 내에서 작동한다 다음과 같은 인라인 스크립팅을 사용하십시오.

<% if (User.IsInRole("Admin")) { %> 
<td> xxx </td> 
<% } %> 
관련 문제