将可空位字段绑定到ASP.Net中Textbox的TextMode属性

时间:2012-10-25 22:21:33

标签: asp.net eval

我有一张表格,里面有一系列问题。其中一个属性是largeText NULL表示隐藏文本框
TRUE表示显示MultiLine文本框
FALSE表示显示单行文本框。

这就是我想要做的事情

<asp:TextBox ID="tbxFreeResponse" runat="server"
             Visible='<%# Eval("largeText") != null %>'
             TextMode = '<%# (Eval("largeText") == (object)true) ?
                               TextBoxMode.SingleLine : 
                               TextBoxMode.MultiLine%>'/>

Eval("largeText") == (object)true始终评估为FALSE。我错过了什么? (object)强制转换是必要的,因为它会抱怨类型不兼容。

1 个答案:

答案 0 :(得分:0)

这就是我的诀窍,希望有人会觉得这很有用。

<asp:TextBox ID="tbxFreeResponse" runat="server" 
             Visible='<%# Eval("largeText") != null %>'
             TextMode = '<%# (!(Eval("largeText") is DBNull) && (bool)Eval("largeText")) ? 
                             TextBoxMode.MultiLine :
                             TextBoxMode.SingleLine%>'/>