2015-10-15 58 views
0

编辑状态列网格视图即时获取此错误 - 对象不能从DBNull转换为其他类型。在表中添加了一列状态(位,空),使状态列具有空值。而绑定状态列与NULL值获取错误。获取错误 - 对象不能从DBNull转换为其他类型。同时编辑状态列的数据类型为位

<asp:TemplateField HeaderText="status"> 
         <ItemTemplate> 
         <asp:Label ID="lblstatus" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "status") %>'></asp:Label> 
         </ItemTemplate> 
         <EditItemTemplate> 
         <asp:CheckBox ID="chkEditStatus" runat="server" Checked='<%# Convert.ToBoolean(Eval("status")) %>' /> 
         </EditItemTemplate> 
         <FooterTemplate> 
         <asp:CheckBox ID="chkAddStatus" runat="server" Checked='<%# Convert.ToBoolean(Eval("status")) %>' /> 
         </FooterTemplate> 
        </asp:TemplateField> 

如何编辑edititem模板,以便在编辑网格时不会出现此错误?

回答

1

那是因为你正尝试将的DBNull转换为Boolean,你需要检查这一点的同时检索数据并计算相应撷取从DB: -

bool status = reader["status"] is DBNull ? false : Convert.ToBoolean(reader["status"]); 
+0

我应该写在一行数据绑定的事件吗? ?? –

+0

什么是读者@rahul –

+0

@krishnamohan - 嘿,你能解决它吗?通过读者,我的意思是通过SqlDataReader获取数据。 –

相关问题