In un'applicazione ASP.NET MVC, sto tentando di inviare più oggetti con un singolo modulo. Sono in grado di ottenere tipi semplici da postare ma ho problemi con tipi complessi. Mi sembra di aver imitato l'esempio fornito da Phil Haack nel suo post sul blog Model Binding To A List ma senza fortuna. Anche andando fino a copiare il suo codice senza successo.ASP.NET MVC: postare più oggetti complessi con il modulo
Sto tentando di popolare le proprietà ProjectNum
e TaskNum
di un set di oggetti MachineLicenseBillback
. Sfortunatamente il IList<MachineLicenseBillback> machinePts
finisce sempre come un nullo quando inviato.
Cosa mi manca?
Classe
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; }
}
azione
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult TrueUp(int id, IList<MachineLicenseBillback> machinePts)
{
// ...
}
Modulo
<% 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" />
<% } %>
anch'io avuto nessun successo nel far funzionare il codice di esempio di Phil Haack. Ho anche provato alcuni altri esempi di bind-to-list senza fortuna. –