ASP.NET MVC DefaultModelBinder z zagnieżdżonymi listami

Mam widok z tabelą reprezentującą grafik pracownika. Dni na górze, projekty z boku, z każdym dniem / przecięciem projektu zawierającym dwie wartości dla godzin regularnych i nadgodzin.

(Uproszczone) definicje klas dla modelu strony to:

<code>public class TimesheetFormModel {
    public List<Project> Projects;
    // other things...
}
public class Project {
    public string Name;
    public List<WorkUnit> WorkUnits;
}
public class WorkUnit {
    public DateTime Date;
    public decimal RegularHours;
    public decimal OvertimeHours;
}
</code>

Elementy formularza na stronie są nazywane w następujący sposób, próbując pobrać DefaultModelBinder.

<code>model.Projects[0].Name // "New Project"
model.Projects[0].WorkUnits[0].Date // "5/23/2009 12:00:00 AM"
model.Projects[0].WorkUnits[0].RegularHours // 0
model.Projects[0].WorkUnits[0].OvertimeHours // 0

model.Projects[0].WorkUnits[1].Date // "5/24/2009 12:00:00 AM"
model.Projects[0].WorkUnits[1].RegularHours // 0
model.Projects[0].WorkUnits[1].OvertimeHours // 0

model.Projects[0].WorkUnits[2].Date // "5/25/2009 12:00:00 AM"
model.Projects[0].WorkUnits[2].RegularHours // 0
model.Projects[0].WorkUnits[2].OvertimeHours // 0

// etc.
</code>

Jednak gdy widok zostanie przesłany,model parametr nie jest całkowicie wypełniony.model.Projects zawiera projekty, aleProjectjestWorkUnits pole jest puste. Czy toDefaultModelBinder obsługuję kolekcje zagnieżdżone, jak próbuję to zrobić? Jeśli nie, co mam zrobić?

questionAnswers(1)

yourAnswerToTheQuestion