首页 > 代码库 > asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法

asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法

在asp.net MVC中使用Html.CheckBox提交后出现该字符串未被识别为有效的布尔值错误,或从类型“System.String”到类型“System.Boolean”的参数转换失败。

错误例子:@Html.CheckBox("UserID",item.IsTrue,new{value=http://www.mamicode.com/item.UserID})

这是由于MVC会在页面上生成<input id="UserID" name="UserID" value="http://www.mamicode.com/100000" />和一个同名隐藏的<input name="UserID" type="hidden" value="http://www.mamicode.com/false" />

在提交后,CheckBox会得到两个值("100000"和false),这就导致出现“System.String”到类型“System.Boolean”的参数转换失败。

解决方法:<input type="checkbox" id="UserID"  @(item.IsTrue ? "checked=‘checked‘" : string.Empty) value="http://www.mamicode.com/@item.UserID" />

asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法