繁体   English   中英

如何使后动作接受数组参数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM