c#
  • asp.net
  • checkbox
  • bind
  • 2014-06-09 32 views 0 likes 
    0

    綁定複選框,我需要綁定一個複選框,但與這行代碼,在DB初始空值

    <asp:CheckBox ID="CheckBoxRed" runat="server" Checked='<%# Bind("red") %>'/> 
    

    ,因爲最初在DB值爲空,我得到一個無效的轉換。因此,我想以這樣的方式

    <asp:CheckBox ID="CheckBoxRed" runat="server" Checked='<%# (DataBinder.Eval(Container.DataItem,"red") is DBNull ?false:Eval("red")) %>'/> 
    

    這就避免了初始無效的轉換,但如果我選中複選框的值不會保存到數據庫。 有沒有辦法避免最初的無效轉換,並獲得保存到數據庫的選中/未選中狀態?

    我已經檢查了this答案,但它沒有綁定該值。

    +0

    它的工作,如果你改變的eval(「紅」),以綁定(「紅」)在你的第二個版本?如果沒有,也許嘗試在綁定之前將數據源中的空值轉換爲false? – PrzemG

    回答

    0

    嘗試使用此

    <asp:CheckBox ID="CheckBoxRed" runat="server" Checked='<%# Boolean.Parse(Eval("IsActive").ToString()) ? true : false%>'/> 
    
    相關問題