CheckBox控件返回"true,false"的问题

在使用ASP.NET MVC开发时,遇到CheckBox控件选中状态返回'true,false'而非期望的'true'的问题。这导致尝试解析为bool值时抛出FormatException。检查发现未选中时值为'false',选中时为'true,false'。通过英文搜索找到解决方案,问题由CheckBox在客户端生成的HTML引起,可以使用参考资料中的jQuery代码修复。" 132551112,12981907,Spring XML声明式事务控制实践,"['Spring框架', 'Java开发', 'XML配置', '事务控制']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用APS.net MVC开发时候,页面上CheckBox控件在选中状态下,服务器端从View中得到的值是“true,false",而不是期望中的”true“。

试图解析作为bool值使用会触发FormatException,提示"true,false 不是 Boolean 的有效值。"


<label>  @Html.CheckBox("x") </label>

使用<label style="float:left;" class="control-label">@Request.QueryString["x"]</label>

查询参数值发现没有选中时候值为“false”,选中时候值为“true,false”。

百思不得其解,遍寻度娘不见中文资料。不知道是没人遇到还是这个问题太基础了,大家都知道。无奈之下开启英文搜索模式,寻得一鳞半爪。记之。


ASP页面中的代码 <label>  @Html.CheckBox("x") </label> 在浏览器客户端得到的html代码是

<input checked="checked" id="x" name="x" type="checkbox" value="true" />
<input name="x" type="hidden" value="false" />
多出一个隐藏的checkbox。这是ASP MVC框架为了保持checkbox  x未选中情况下post和get操作中仍然有参数x的值。

这样造成的问题可以通过参考资料1中的jQuery代码解决。


参考资料

【1】Jquery fix ASP.Net MVC checkbox “true,false” value

http://www.mindstorminteractive.com/topics/jquery-fix-asp-net-mvc-checkbox-truefalse-value/

【2】Why does CheckBox return "true, false" instead of "true"

http://forums.asp.net/t/1589746.aspx?Why+does+CheckBox+return+true+false+instead+of+true+

【3】Html.Checkbox does weird stuff
http://forums.asp.net/t/1425806.aspx


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值