@HTML.CheckBoxFor()不返回未选中框的值
@HTML.CheckBoxFor() is not sending back value of unchecked boxes
代码如下:
<div>
<label>
@Html.CheckBoxFor(x=>x.IsEnabled)
IsEnabled</label>
</div>
问题是CheckBoxFor正在为这个字段创建一个隐藏,但是当框被选中时,它仍然没有将更改的值发送到服务器。即使取消勾选,我仍然会得到值为真。这个字段出现在一个表单中,我不是使用submit提交,而是序列化(使用jquery序列化器)然后提交。
问题是序列化程序会获取每个元素的value属性,而复选框value属性在切换时不会更改。被检查的属性是正在更改的属性。
有什么办法可以解决它吗?
不幸的是,在某些情况下,没有办法破解CheckBoxFor,但你可以这样做:
@Html.CheckBox("IsEnabled", Model.IsEnabled)
相反,它应该工作得更好。Checkboxfor创建了一些隐藏变量,在提交表单时使用这些变量进行操作:
<input name="IsEnabled" type="checkbox" value="true">
<input name="IsEnabled" type="hidden" value="false">
对于jquerish插件来说这可能是一个问题。尤其是那些序列化的东西,因为它们可能只做简单的属性映射。
当我使用普通Html输入类型按名称绑定模型时。
<label>
<input id="IsEnabled" name="ISEnabled" type="checkbox" value="true" />
IsEnabled
</label>
可以这样使用
@Html.CheckBoxFor(model => model.Active.Value)
我想这会对你有帮助。
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- JS验证ajax返回的html中的表单数据
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- AJAX:$_GET不返回任何值
- 从Javascript方法返回全局变量
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- @HTML.CheckBoxFor()不返回未选中框的值