在ASP.NET MVC应用程序中,我尝试使用单一表单提交多个对象。我能够获得简单的类型来回发,但是遇到复杂类型的问题。我觉得我已经模仿Phil Haack在他的博客文章Model Binding To A List中提供的例子,但没有运气。即使只是复制他的代码完全无济于事。ASP.NET MVC - 在表单中发布多个复杂对象
我想填充一组MachineLicenseBillback
对象的ProjectNum
和TaskNum
属性。不幸的是,IList<MachineLicenseBillback> machinePts
在发布时总是以null结尾。
我错过了什么?
类
public class MachineLicenseBillback
{
public MachineLicenseBillback() { }
public virtual int MachineId { get; set; }
public virtual string ProjectNum { get; set; }
public virtual string TaskNum { get; set; }
public virtual string VerifiedFlag { get; set; }
public virtual DateTime? RcdChgDateTime { get; set; }
public virtual string RcdChgAgent { get; set; }
}
行动
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult TrueUp(int id, IList<MachineLicenseBillback> machinePts)
{
// ...
}
表
<% using (Html.BeginForm("TrueUp", "Home", new { id = Model.Customer.Id },
FormMethod.Post))
{ %>
<input type="hidden" name="machinePts.Index" value="<%= machine.MachineId %>" />
<input type="text" name="machinePts[<%= machine.MachineId%>].ProjectNum"
value="<%= machine.MachineLicenseBillback.ProjectNum %>" />
<input type="text" name="machinePts[<%= machine.MachineId %>].TaskNum"
value="<%= machine.MachineLicenseBillback.TaskNum %>" />
<input type="submit" value="Submit" />
<% } %>
我也有machinePts [0],machinePts [1],等等Phil Haack的示例代码没有成功。我也尝试了其他一些绑定到列表的示例,但没有任何运气。 – 2010-01-25 23:23:12