绑定到后缀为[]的表单字段
本文关键字:表单 字段 后缀 绑定 | 更新日期: 2023-09-27 18:00:21
我有一些表单字段以名称"value[]"发布:
value%5B%5D=8&value%5B%5D=4&value%5B%5D=2
它们是从jquery库发布的,所以如果不分叉它们的库,我就无法控制它。
我尝试了[Bind(Include = "value%5B%5D")]ICollection<int> values
和[Bind(Include = "value[]")]ICollection<int> values
作为动作方法的参数,但都不起作用。
我可以用Request.Form.GetValues("value[]")
验证这些字段是否在请求中。
我可以用这样的表格重新创建相同的问题:
<form action="/Home/Empty" method="post">
<input name="value[]" value="5">
<input name="value[]" value="6">
<input name="value[]" value="7">}
<input type="submit" value="Submit">
</form>
[HttpPost]
public ActionResult Empty(List<int> value)
{ //value is null :(
return View();
}
重要的是操作方法的参数列表
-
与您的输入变量命名相同
public ActionResult Empty(List<int> value)
另一种选择是遍历Request.Form数组。
for (i=0; i< Request.Form.count-1; i++)
{
// somthing to do with Request.Form[i]
}