【发布时间】:2015-07-11 01:24:34
【问题描述】:
我想用 FormCollection 中的数据填充我的模型。
我传递给我的页面的视图模型有一个属性,即汽车列表。
public List<Car> Cars { get; set; }
在视图中,我循环遍历每个并作为表单输出
@for (int i = 0; i < Model.Cars.Count; i++)
{
<form action="#" id="updateForm-@Model.Cars[i].Id" class="updateForm">
@Html.AntiForgeryToken()
@Html.Hidden("Id", Model.Cars[i].Id)
<div class="row">
<div class="col-md-2 col-sm-4">
@Html.TextBoxFor(m => m.Cars[i].CarName, new { placeholder = "car name", name = "CarName", id = "CarName", @class = "user-friendly-size" })
</div>
等等。每个表单都有自己的按钮。
然后我使用 JQuery 来 form.serialise 并将表单数据发送到后端
[AjaxOnly]
public JsonResult Update(FormCollection form)
据我了解,我无法使用模型绑定器,即
public JsonResult Update(Car car)
因为当表单数据被序列化并发布时,名称通过 Cars[0].Id,并且模型绑定器无法绑定。这是我的理解。
有没有办法以一种非常简单的方式将 FormCollection 中的值提取到我的模型中?可能使用反射?还是我错了,我们可以自动绑定?
【问题讨论】: