मैं एक परियोजना में सभी एमवीसी 2, सी # और लिंक से इकाइयों को सीखने की कोशिश कर रहा हूं (हाँ, मैं पागल हूं) और मुझे DropDownListFor के साथ कुछ समस्याएं आ रही हैं और चयनसूची को पास कर रही हैं।एएसपी.नेट एमवीसी 2 ड्रॉपडाउनलिस्ट
यह मेरा नियंत्रक में कोड है:
public ActionResult Create()
{
var Methods = te.Methods.Select(a => a);
List<SelectListItem> MethodList = new List<SelectListItem>();
foreach (Method me in Methods)
{
SelectListItem sli=new SelectListItem();
sli.Text = me.Description;
sli.Value = me.method_id.ToString();
MethodList.Add(sli);
}
ViewData["MethodList"] = MethodList.AsEnumerable();
Talkback tb = new Talkback();
return View(tb);
}
और मैं मुसीबतों DropDownListFor
ViewData
में MethodList
लेने के लिए प्राप्त करने की कोशिश कर रहा हूँ। जब मैं कोशिश: बाहर
<%:Html.DropDownListFor(model => model.method_id,new SelectList("MethodList","method_id","Description",Model.method_id)) %>
यह त्रुटियों निम्न संदेश के साथ
DataBinding: 'System.Char' does not contain a property with the name 'method_id'.
मैं जानता हूँ कि ऐसा क्यों है, के रूप में यह एक स्ट्रिंग के रूप MethodList
ले जा रहा है, लेकिन मैं समझ नहीं कैसे प्राप्त करने के लिए यह SelectList
लेने के लिए। अगर मैं ऐसा एक सामान्य DropDownList
साथ निम्नलिखित:
<%: Html.DropDownList("MethodList") %>
यह इस के साथ काफी खुश है।
क्या कोई मदद कर सकता है?
टॉकबैक क्लास एक एल 2 ई टेबल क्लास है। इसमें एक method_id है जिसमें विधि तालिका के साथ 0..1 संबंध है, इसलिए मेरे पास केवल उस रिकॉर्ड की विधि_आईडी से संबंधित विशेष विधि से Talkback तालिका और विधि नेविगेशन प्रॉपर्टी से method_id स्केलर प्रॉपर्टी है। तो मैं किसी विशेष टॉकबैक रिकॉर्ड से संबंधित विधि प्राप्त कर सकता हूं, क्योंकि यह एक निर्माण कार्य है, वैसे भी शून्य होगा। हालांकि, मैं टॉकबैक मॉडल के माध्यम से सभी विधियों तक पहुंच नहीं प्राप्त कर सकता हूं। आशा है कि समझ में आता है! – hermiod
अतिरिक्त कोड के साथ अपडेट किया गया। इसे आज़माएं और देखें कि यह आपके लिए काम करता है या नहीं! – Tejs
अब मुझे 'विधि के लिए कोई ओवरलोड' त्रुटि नहीं मिली है DropDownListFor '1 तर्क लेता है'। शायद मैंने एमवीसी को गलत समझा है लेकिन मैंने सोचा था कि डेटाबेस मॉडल से सभी दृश्यों को उत्पन्न करना और आवश्यकतानुसार संशोधित करना संभव होगा। मैंने दृश्य के माध्यम से मनमाने ढंग से सूचियों को पारित करने के कुछ उदाहरण देखे हैं (व्यूडाटा के माध्यम से, जो मेरा मूल कोड बंद था), क्या यह काम मेरी स्थिति में करने का कोई तरीका है? आपकी मदद के लिए धन्यवाद Tejs – hermiod