2012-06-15 4 views
2

typeId에 ​​따라 체크 박스 또는 라디오 버튼을 표시하고 싶습니다. ASP.NET 컨트롤이 Eval if else 문에 있습니까?

<%# (Eval("TypeId").ToString() == "1") ? "CheckBox" : "RadioButton"%> 
<asp:CheckBox ID="CheckBox" runat="server" Text='<%#Eval("OptionName")%>' /> 
<asp:RadioButton ID="RadioButton" runat="server" Text='<%#Eval("OptionName")%>' /> 

유형 ID == 1 내가 내 코드 라인에있는 체크 박스를 표시 할 경우

다른 나는 라디오 버튼을 보여주고 싶어요. 어떻게해야합니까?

감사합니다. 예를 들어, ShowCheckBox 및 ShowRadioButton

를 들어,
public bool ShowCheckBox 
{ 
    get 
    { 
     return TypeId.ToString() == "1"; 
    } 
} 

과 가시 속성에 데이터 바인딩에 이러한 사용을라는 데이터 소스에

+0

두 컨트롤 모두의 visible 속성을 사용하십시오. –

+0

이것은 나에게 너무 어렵다. 3 중첩 된 중계기와이 코드를 3 단계 중계기에서 사용했기 때문에 –

+0

왜 그렇게 어렵습니까? – Itison

답변

2

Visible 속성을 사용할 수 있습니다 :

<asp:CheckBox ID="CheckBox" runat="server" 
    Text='<%#Eval("OptionName")%>' 
    Visible='<%# Eval("TypeId").ToString() == "1" %>' 
/> 
<asp:RadioButton ID="RadioButton" runat="server" 
    Text='<%#Eval("OptionName")%>' 
    Visible='<%# Eval("TypeId").ToString() != "1" %>' 
/> 
0

추가 두 부울 속성

<asp:CheckBox ID="CheckBox" runat="server" Visible='<%#Eval("ShowCheckBox")%>' /> 
0

이 시도 :

<asp:CheckBox ID="CheckBox" runat="server" Visible="<%# (Eval("TypeId").ToString() == "1") ? True : False %>" Text='<%#Eval("OptionName")%>' /> 
+0

좋은 생각입니다. 그러나 "string too bool not converted error"가 발생합니다. 나는 팀 슈멜터의 대답으로 해결했다. –

0

해당 컨트롤을 Repeater.ItemDatabound 이벤트에 추가하십시오.