13
我有一個視圖,其中包含表示員工時間表的表格。跨越頂部的天數,向下投射,每天/項目交叉點包含常規時間和加班的兩個值。帶有嵌套列表的ASP.NET MVC DefaultModelBinder
(簡化)類的頁面模型定義是:
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
是否支持像我試圖做的嵌套集合?如果不是,我該怎麼辦?