मैं क्या दिखाई देता है (मेरे लिए वैसे भी) एक अजीब समस्या होना है ...समस्या
मैं एक SelectListItem के लिए एक सरल संपादक टेम्पलेट (SelectListItem.cshtml ~/दृश्य/साझा में बनाया/EditorTemplates फ़ोल्डर), उदाहरण के लिए:
<ul class="select-list-item cell-15 col-3 omega clearfix">
@Html.EditorFor(c => c.Categories)
</ul>
कहाँ c.Categories एक IEnumerable
यह ठीक काम किया है, लेकिन मैं थोड़ा अलग मार्कअप के साथ संग्रह प्रस्तुत करने के लिए एक और टेम्पलेट चाहता था, इसलिए मैं नकल की और नाम दिया संपादक टेम्पलेट, उदाहरण के लिए, 'Category Icons.cshtm 'और निम्नानुसार आह्वान किया गया:
<ul class="select-list-item cell-15 col-3 omega clearfix">
@Html.EditorFor(c => c.Categories, "CategoryIcons")
</ul>
संक्षेप में, केवल अंतर है कि मैं एक नामित संपादक टेम्पलेट निर्दिष्ट कर रहा हूं।
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[System.Web.Mvc.SelectListItem]', but this dictionary requires a model item of type 'System.Web.Mvc.SelectListItem'
टेम्पलेट के मॉडल घोषणा, दोनों टेम्पलेट्स आईडी में:
जब मैं पृष्ठ को खोलने, अब मैं निम्नलिखित त्रुटि मिलती है
@model System.Web.Mvc.SelectListItem
मुझे समझ नहीं आता क्यों डिफ़ॉल्ट टेम्पलेट काम करता है और नामित टेम्पलेट नहीं करता है। किसी भी सहायता की सराहना की जाएगी।
धन्यवाद।
मैं ठीक उसी प्रतिक्रिया लिख रहा था, केवल दूसरी बात मैं जोड़ना होगा कि आप 'SelectListItem' किसी अन्य नाम के एक वर्ग के साथ रैप और प्रयोग है कि एक अलग टेम्पलेट प्राप्त करने के लिए कर सकते हैं, लेकिन किसी भी मामले में है, यह शायद है शुरू करने के लिए MVCContrib में जोड़ने के लिए किसी के लिए एक अच्छी जगह है। –
स्पष्टीकरण और सलाह के लिए धन्यवाद। मैंने SelectListItem से विरासत में एक नई कक्षा बनाई और फिर उस वर्ग के लिए एक नया टेम्पलेट बनाया - यह पूरी तरह से काम करता है, लेकिन यह एक अनावश्यक ओवरहेड की तरह प्रतीत होता है। – Neilski