मैं [ImportModelStateFromTempData]
और [ExportModelStateToTempData]
एक्शन फ़िल्टर का उपयोग करके पीआरजी पैटर्न को लागू करने की कोशिश कर रहा हूं। यह पैटर्न फ्लैट मॉडल के लिए बहुत अच्छा काम करता है लेकिन जब मैं बाल संग्रह करता हूं तो मैं इसे काम नहीं कर सकता। मेरे मॉडल इस तरह दिखता है:बच्चों के साथ एमवीसी पीआरजी पैटर्न
public class QuestionModel
{
public string QuestionText { get; set; }
public ICollection<ChoiceModel> Choices { get; set; }
}
public class ChoiceModel
{
public string ChoiceText { get; set; }
}
मेरे नियंत्रक इस प्रकार है:
[HttpGet, ImportModelStateFromTempData]
public ActionResult Create()
{
return View();
}
[HttpPost, ExportModelStateToTempData]
public ActionResult Create(QuestionModel model)
{
if(ModelState.IsValid)
{
// not getting here
}
return RedirectToAction("Create");
}
मेरा विचार उपयोगकर्ता विकल्प के लिए नए आइटम जोड़ने के लिए अनुमति देता है, और मैं एक मान्यता है कि विकल्प अद्वितीय होना चाहिए है। जब मेरा मॉडलस्टेट वैध नहीं है, तो यह मॉडलस्टेट को टेम्पपडेटा में पैकेज करेगा और HttpGet कार्रवाई पर रीडायरेक्ट करेगा।
इस बिंदु पर मेरे सभी बाल मॉडल मान मॉडलस्टेट में हैं, लेकिन यह मॉडल को देखने के दौरान उन्हें पुनर्निर्माण नहीं करता है, इसलिए मेरा विचार दिखाता है कि 0 बच्चे जोड़े गए थे।
क्या मॉडल मॉडल के साथ मॉडलस्टेट को किसी भी तरह मर्ज करने का कोई तरीका है या क्या मैं इस पैटर्न का उपयोग बाल वस्तुओं के साथ नहीं कर सकता?
मैं यही कर रहा हूं और यह बाल संग्रह के साथ काम नहीं करता है। – Dismissile