我需要将我的复选框绑定到某处,即使它是null,所以我不会收到有关无效转换的错误。
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("DeleteFlag", typeof(bool));
在ASP中:
<asp:CheckBox ID="MyCheckBox" runat="server" Checked='<%# Bind("DeleteFlag") %>'
Enabled="False"/>
(如果我删除此代码,它可以工作,但没有可见的复选框。) 也许实例化它已经设置了一个值(true,false)
有人可以帮忙吗?如果需要,将在评论中回复。
答案 0 :(得分:6)
使用bool.Parse()。
<asp:CheckBox ID="MyCheckBox" runat="server"
Checked='<%#bool.Parse(Eval("DeleteFlag").ToString())%>'
Enabled="False"/>
或者这就是你要找的东西:
Checked='<%# Eval("DeleteFlag") == DBNull.Value ? false : Eval("DeleteFlag") %>'