You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET 4.8 GridView改用CheckBox后转换Boolean报错如何解决

问题原因
  • 核心错误是你错误读取了CheckBox控件的Text属性做布尔转换:CheckBox的Text是控件旁边显示的提示文本(比如"是否允许"这类自定义文案),本身不是布尔格式字符串,调用Convert.ToBoolean()必然抛出格式错误。
  • 你要获取复选框的选中状态,应该直接读取CheckBox自带的Checked属性,这个属性本身就是Boolean类型,不需要额外转换。
  • 额外注意:你代码里第三个复选框的查找ID是txtExcludedfooter,如果这个ID对应的控件还是之前的TextBox没有改成CheckBox,后续还会抛出类型转换异常,建议核对前端GridView模板里的控件ID是否和后端查找的匹配。
修复后的代码片段

把原来读取布尔值的三行替换成下面的写法即可:

Boolean FootPlate;
myCheck = ((CheckBox)gvTestUsers.FooterRow.FindControl("CheckFootPlateFooter"));
FootPlate = myCheck.Checked;

Boolean WirstCord;
myCheck = ((CheckBox)gvTestUsers.FooterRow.FindControl("CheckWirstCordFooter"));
WirstCord = myCheck.Checked;

Boolean Excluded;
myCheck = ((CheckBox)gvTestUsers.FooterRow.FindControl("txtExcludedfooter"));
// 若前端控件已从TextBox改为CheckBox,建议同步把ID改成CheckExcludedfooter更符合命名规范
Excluded = myCheck.Checked;

内容的提问来源于stack exchange,提问作者Måns Bodin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 08:09:00