我有一个代表雇员的工时表视图。 跨顶天,向下突出的一侧,包含定期时间和加班时间两个值的每一天/项目交集。
该页面模型(简体)类定义是:
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;
}
页面上的表单元素被命名为试图获得DefaultModelBinder拿起他们如下。
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.
当视图但是提交后, model
参数没有被完全填充。 model.Projects
包含的项目,但Project
的WorkUnits
字段为空。 是否DefaultModelBinder
支持嵌套集合像我想干什么? 如果不是这样,我该怎么办?