मेरे पास एक कर्मचारी के टाइमशीट का प्रतिनिधित्व करने वाली तालिका के साथ एक दृश्य है। शीर्ष पर दिन, प्रत्येक दिन/प्रोजेक्ट चौराहे के साथ नियमित रूप से घंटों और ओवरटाइम के लिए दो मान वाले पक्ष के साथ परियोजनाएं।नेस्टेड सूचियों के साथ एएसपी.नेट एमवीसी डिफॉल्टमोडेल बाइंडर
(सरलीकृत) वर्ग पेज मॉडल परिभाषाएं दी गई हैं: 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;
}
पृष्ठ पर फार्म तत्वों नाम हैं।
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
नेस्टेड संग्रहों का समर्थन किया है जैसे मैं करने की कोशिश कर रहा हूं? यदि नहीं, तो मुझे क्या करना चाहिए?