我需要将我的复选框绑定到某个位置,即使它为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"/>
(如果删除此代码,它可以工作,但是看不到c的复选框。)也许已经使用已设置为它的值实例化了它(true,false)
有人可以帮忙吗?如有需要,将在评论中回复。
使用bool.Parse()。
<asp:CheckBox ID="MyCheckBox" runat="server" Checked='<%#bool.Parse(Eval("DeleteFlag").ToString())%>' Enabled="False"/>
或这就是您要寻找的:
Checked='<%# Eval("DeleteFlag") == DBNull.Value ? false : Eval("DeleteFlag") %>'