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

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

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

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

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

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。