是否可以从DetailsView中的CheckboxField中提取Checked状态?
本文关键字:提取 Checked 状态 CheckboxField 中的 DetailsView 是否 | 更新日期: 2023-09-27 18:16:24
最初我有一个带有复选框的TemplateField,但是我不能使用
设置复选框的值Checked='<%# (bool)Bind("FieldName") %>
或
Checked='<%# (bool)Eval("FieldName") %>
一直抛出无效强制转换异常。数据库中的字段是位字段,设置为1或0。
我尝试切换到一个复选框字段,但因为我的更新代码是在代码后面,而不是使用数据源中的updatcommand参数,我似乎无法从CheckBoxField检索值传递给我的业务逻辑。
有谁能告诉我如何在detailsview中检索CheckBoxfield的值?
不能从int型强制转换为bool型。尝试Convert.ToBoolean(Eval("FieldName"))
不确定是否可以这样使用Eval
,但这是一般的想法。
我认为您需要使用ToString()
从数据库的值,因为HTML正在寻找True或False,而不是1或0。
CheckBox ckBox = ucDetailView.FindControl("CheckBoxID") as CheckBox
if(ckBox != null){
ckBox.Checked = (bool)datasource["FieldName"].ToString()
//.. or some better casting code with more null checks
}
然后在后面的代码中设置它。解决方案似乎在这里工作