ASP.NET MVC DefaultModelBinder con listas anidadas

Tengo una vista con una tabla que representa la hoja de tiempo de un empleado. Días en la parte superior, proyectos por el lado, con cada intersección entre el día y el proyecto que contiene dos valores para horas regulares y horas extra.

Las definiciones de clase (simplificadas) para el modelo de página son:

<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>

Los elementos de formulario en la página se nombran de la siguiente manera para intentar que DefaultModelBinder los recoja.

<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>

Cuando se envía la vista sin embargo, elmodel El parámetro no está siendo completamente poblado.model.Projects contiene proyectos, pero elProjectesWorkUnits el campo está vacío Hace elDefaultModelBinder ¿Soporta colecciones anidadas como estoy tratando de hacer? Si no, ¿qué debo hacer?

Respuestas a la pregunta(1)

Su respuesta a la pregunta