2008-12-04 66 views

回答

1

CheckBoxField綁定到布爾值。 您可以將字符串轉換爲綁定表達式中的布爾值,也可以將其轉換爲數據庫返回值。

數據庫將複選框狀態存儲爲一個位而不是字符串會更有意義。那麼這個問題就會完全消失。

當然,如果您需要存儲第三個「灰色」狀態,這會使事情稍微複雜化,但您仍然可以將狀態存儲爲int。

6

這應該工作:

Checked='<%# DataBinder.Eval(Container.DataItem, "MyStringField") = "1" %>' 

通常一個複選框值將在數據庫中被映射到一個位值,這樣你就不會得到這個問題。

+0

差不多;你讓我在正確的軌道上: minty 2008-12-04 20:02:43

1

我在VB工作,我想是這樣的

<asp:checkbox runat="server" id="chkCastCool" enabled="false" 
    checked='<%CType(DataBinder.Eval(Container.DataItem,"Cast_Cool").ToString().Replace("Y","True").Replace("N","False"),Boolean)%>'/> 
相關問題