【发布时间】:2011-09-13 12:27:03
【问题描述】:
我注意到使用 EditorFor 方法创建的复选框总是伴随着每个创建的复选框,并且它的值始终设置为 FALSE。我在这里阅读了一些关于此的帖子,并了解需要隐藏输入,否则在 POST 请求期间,对于未选中的框,根本不会发送有关复选框值的信息。 (希望我理解正确)
当我查看来自 POST 请求的表单数据时,我得到一个奇怪的(但预期的)结果,即选中框的值同时为 TRUE 和 FALSE:TRUE 由于选中的框,而 FALSE由于隐藏输入中的值。例如,在我的一个表单上的变量“isActive”上,我在 POST 数据中看到了这一点:
isActive: true
isActive: false
那么,它是什么?既然在为假之前为真,那是否意味着该值将始终为假,因为隐藏字段的值将始终覆盖复选框的值? EditorFor 放置输入元素和隐藏元素(隐藏元素第一个,并且始终设置为 false)的顺序对我来说没有任何意义。有人可以向我解释这背后的逻辑吗?
谢谢!
【问题讨论】:
标签: asp.net-mvc-3