2014-09-12 5 views
2

리피터 컨트롤 내부에서 if 문을 사용하고 if에서 InvalidOperationException을 수신하려고합니다.ASP.Net 중계 제어 - 조건문 사용

내가하려는 것은 현재 항목에 Admin으로 설정된 UserType이있는 경우에만 리피터 내부에서 코드 블록을 실행하는 것입니다.

 <asp:Repeater ID="rptSingleValueHeaders" runat="server"> 
     <ItemTemplate> 
      <% if (Eval("UserType").ToString() == "Admin") { %> 
       <div> 
        do stuff here 
       </div> 
      <% } else { %> 
       <div> 
        do other stuff 
       </div> 
      <% } %> 
     </ItemTemplate> 
    </asp:Repeater> 

내 데이터 소스는 aspx.cs에 정의되어 있으며 유형 문자열 인 UserType이라는 속성이 있습니다. 더 자세한 정보를 제공해야하는지 알려주세요. 고맙습니다.

+0

중복 가능성을 [만약 리피터 ItemTemplate을의 문] (http://stackoverflow.com/questions/17168851/if-statement-in- repeaters-itemtemplate) – melancia

+0

물건에 html 마크 업이 표시됩니다 – noclist

+0

내 데이터 소스에서 오는 속성을 평가하려고 할 때 참조 된 SO의 답변이 적용되지 않습니다. – noclist

답변

7

당신은 서버 측 가시성 사용할 수 있습니다의

<ItemTemplate> 
    <div runat="server" visible='<%# (Eval("UserType").ToString() == "Admin") %>'> 
     I show this HTML 
    </div> 
    <div runat="server" visible='<%# (Eval("UserType").ToString() != "Admin") %>'> 
     I show this other HTML 
    </div> 
</ItemTemplate> 
+0

파서 오류 수신 - -> 'Visible'속성의 문자열 표현 '<% (Eval ("UserType"). ToString() == "Admin") %>'에서 System.Boolean 형식의 개체를 만들 수 없습니다. – noclist

+0

수정 된 항목을 확인할 수 있습니까? – Tushar

+1

그 트릭을 마쳤습니다. 도움을 주셔서 감사합니다. – noclist