В приложении ASP.NET MVC я пытаюсь отправить несколько объектов в одной форме. Я могу получить простые типы для отправки обратно, но у меня есть проблемы со сложными типами. Мне кажется, что я подражал примеру, представленному Филом Хааком в его сообщении в блоге Model Binding To A List , но безуспешно. Даже даже копирование его кода безрезультатно.
Я пытаюсь заполнить свойства ProjectNum
и TaskNum
набора MachineLicenseBillback
объектов. К сожалению, IList<MachineLicenseBillback> machinePts
всегда заканчивается как ноль при публикации.
Чего мне не хватает?
Класс
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" />
<% } %>