ASP.NET控件在Eval if else语句中?

时间:2012-06-15 09:04:50

标签: asp.net eval

我想根据typeId显示复选框或单选按钮。

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

如果typeId == 1我想显示我的代码行中的复选框,我想显示单选按钮。 我怎样才能做到这一点。

感谢。

4 个答案:

答案 0 :(得分: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" %>'
/>

答案 1 :(得分:0)

向您的数据源添加两个bool属性,例如,ShowCheckBox和ShowRadioButton

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

并使用这些数据绑定到Visible属性

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

答案 2 :(得分:0)

试试这个:

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

答案 3 :(得分:0)

在Repeater.ItemDatabound事件中,在那里添加适当的控件。