在创建表单上发送对象列表

时间:2015-07-09 15:41:47

标签: asp.net-mvc

我有一个视图特定的模型,它将我的一些对象组合在一起,但我对一个对象列表有一些问题。

我的模特是这样的:

public class RouteSubcontract
{
    public RoutingSubcontracts Subcontracts { get; set; }
    public RoutingPhases Phases { get; set; }
    public List<RoutingApprovals> Approvals { get; set; }
}

我有我的创建表单,一切正常,我正在使用像这样的html助手:

@Html.EditorFor(model => model.Subcontracts.subRevNbr, new { htmlAttributes = new { @class = "textReplace", @id = "frmRevNbr" } })

但问题是,当我需要获得批准清单时,我甚至不确定如何从此开始。我需要能够创建项目列表,我可以使用jquery有一个按钮,然后创建我需要输入数据的文本框行,但我不确定如何ID或命名它们以便它们被正确选取我的帖子回来了。

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AdminRoutingCreate(RouteSubcontract rs)

1 个答案:

答案 0 :(得分:1)

对于集合,modelbinder需要以下列格式命名的输入:ListProperty[Index].Property。例如,如果您要在名为RoutingApprovals的{​​{1}}上修改属性,则需要以下内容:

Foo

在回帖后,你最终会得到三个<input type="text" name="Approvals[0].Foo" /> <input type="text" name="Approvals[1].Foo" /> <input type="text" name="Approvals[2].Foo" /> 个实例。