मैंने आंशिक दृश्य बनाया है (भले ही संपादक टेम्पलेट), मैं दृश्य में एक उप मॉडल पास करता हूं, हालांकि, जब मैंने "सबमिट" पर क्लिक किया, तो मुझे हमेशा आंशिक से "शून्य" मिलता है राय। मैं उप मॉडल को छोड़कर मुख्य मॉडल के गुण मान प्राप्त कर सकता हूं।आंशिक दृश्य समस्या से वापसी मॉडल
मुख्य मॉडल
public class PetModel
{
public string name {get; set;}
public long SpeciesID {get; set;}
public long BreedID {get; set;}
public Calendar DOB {get; set;}
}
उप मॉडल
public class Calendar
{
public string Year{get; set;}
public string Month{get; set;}
public string Day{get; set;}
}
मुख्य देखें
@model Application.Models.PetModel
@using (Html.BeginForm("CatchPetContent", "Quote",Model))
{
@Html.TextBoxFor(x => x.Name)
@Html.DropDownListFor(x=>x.SpeciesID,new List<SelectListItem>(),"select")
@Html.DropDownListFor(x=>x.BreedID,new List<SelectListItem>(),"select")
@Html.EditorFor(Model => x.DOB)
<input type="submit" value="submit" />
}
संपादक टेम्पलेट
@model Application.Models.Calendar
@Html.DropDownListFor(Model => Model.Day, new List<SelectListItem>())
@Html.DropDownListFor(Model => Model.Month,new List<SelectListItem>())
@Html.DropDownListFor(Model => Model.Year, new List<SelectListItem>())
"CatchPetContent" कार्रवाई
[HttpPost]
public ActionResult CatchPetContent(PetModel Model)
{
PetModel pet = new PetModel();
pet.Name = Model.Name;
pet.SpeciesID = Model.SpeciesID;
pet.BreedID = Model.BreedID;
pet.DOB = Model.DOB;// always null
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("Controller", "Home");
redirectTargetDictionary.Add("Action", "Index");
return new RedirectToRouteResult(new RouteValueDictionary(redirectTargetDictionary));
}
जब मैंने इसे डिबग, "Model.DOB" हमेशा रिक्त है
आप सही हैं, लेकिन मैंने प्रत्येक ड्रॉपडाउन के लिए प्रारंभिक विधि जोड़ दी है, और मुझे अभी भी शून्य नहीं मिला है। "सबमिट" पर क्लिक करने से पहले, मैंने ड्रॉपडाउन से मूल्यों का चयन किया है, हालांकि, सबमिट बटन पर क्लिक करने के बाद, घोंसला मॉडल "कैलेंडर" को "शून्य" के साथ असाइन किया जाएगा। मैंने डिफॉल्टबिल्डर में "SetProperty" विधि को डीबग किया है, ऑब्जेक्ट का मान हमेशा शून्य है – user2376512
फिडलर के साथ आइटम्स के मानों का निरीक्षण करने का प्रयास करें ताकि यह देखने के लिए कि फ़ॉर्म मान वास्तव में सर्वर पर वापस भेजे जा रहे हैं। एचटीएमएल साल के समान दिखता है, मॉडल बाध्य होने के लिए इसे डीओबी जैसे नाम होना चाहिए। प्रिय, अगर ऐसा नहीं होता तो यह बाध्य नहीं होगा। –
फिडलर से मैं नीचे स्ट्रिंग पा सकता हूं नाम = test & SpeciesID = 2 और BreedID = 7 और DOB.Day = 23 और DOB.Month = 05 और DOB.Year = 2010 – user2376512