[英]How to make post action accept array parameters?
我有一个表格,其中有一堆动态生成的复选框。 像这样:
<input type="checkbox" name="Foo[]" value="1"/> Bar
<input type="checkbox" name="Foo[]" value="2"/> Baz
<input type="checkbox" name="Foo[]" value="2"/> Bay
我的模型中有一个int[] Foo
属性,我希望它会被这些复选框中的数据填充,但是它的值始终为null(无论是否选中任何复选框)。 因为失败了,所以我只是将int[] Foo
作为普通的旧参数添加到操作中,只是因为这不是由模型引起的,但是Foo
仍然为空。
我检查了浏览器对我的帖子要说些什么,但是复选框中的值在那里(如果我当然选中的话)。
Foo [] = 1 Foo [] = 2 Foo [] = 3
作为最后的选择,我将FormCollection form
添加到动作参数中,并且可以看到Foo[]
实际上出现在表单数据中。
那么我在这里做错了吗? 如何使一个动作接受数组查询参数?
我得到了启发(休息片刻时喝了些茶)。 在FormCollection form
该参数称为Foo[]
而不是Foo
的事实导致了问题的根源。 过去,我唯一的一次做这种表格是在我从事PHP项目时。 命名复选框输入Foo[]
是在PHP中执行此操作的正确方法(我认为)。 事实证明,如果我想在MVC中做同样的事情,我必须省略[]
,它将起作用。
简而言之,对于我的MVC应用程序,我的输入应如下所示:
<input type="checkbox" name="Foo" value="1"/> Bar
<input type="checkbox" name="Foo" value="2"/> Baz
<input type="checkbox" name="Foo" value="2"/> Bay
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.