ASP.NET MVC DefaultModelBinder с вложенными списками
У меня есть представление с таблицей, представляющей расписание сотрудника. Дни через вершину, проекты вниз, с каждым пересечением дня / проекта, содержащим два значения для обычных часов и сверхурочных.
(Упрощенные) определения классов для модели страницы:
<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>
Элементы формы на странице названы следующим образом, чтобы попытаться заставить 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>
Когда представление передается, однако,model
параметр не заполнен полностью.model.Projects
содержит проекты, ноProject
& APOS; sWorkUnits
поле пустое ЛиDefaultModelBinder
поддерживать вложенные коллекции, как я пытаюсь сделать? Если нет, что мне делать?