के साथ एएसपी.नेट एमवीसी ड्रॉपडाउन क्या ड्रॉपडाउन सूची के लिए कोई चयनित मूल्य नहीं है तो डिफ़ॉल्ट खाली विकल्प (या पाठ के साथ) को शामिल करने का कोई तरीका है?एक डिफ़ॉल्ट खाली विकल्प
उत्तर
नीचे स्ट्रिंग प्रीपेड करेगा। व्यूडाटा ["मेनू"] आइटम में निर्दिष्ट SelectList (या IEnumerable) के लिए लक्षण। चयन में आईडी और नाम MenuID
होगा।
<%= Html.DropDownList("MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty) %>
प्रलेखन: DropDownList method
यहां प्रस्तुत समाधान मेरे लिए बहुत अच्छी तरह से काम: http://forums.asp.net/t/1142484.aspx/1
मूल विचार है कि आप अपने DropDownList
true
के AppendDataBoundItems
गुण सेट और फिर एक asp:ListItem
में डाल कि है DropDownList
और यह आपके डिफ़ॉल्ट आइटम बन जाएगा जिसके बाद आने वाले सभी डेटाबेस आइटम आते हैं।
ध्यान में रखते हुए :
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
बस List<>
आप अपने दृश्य में प्रदर्शित करना चाहते हैं के लिए एक नया आइटम जोड़ने
'-1' यह एएसपी.नेट वेब फॉर्मों के लिए है, एमवीसी नहीं। – JoeBrockhaus
यह आसान समाधान मेरी mvc5 परियोजना के लिए काम किया। मेरे मामले में, मैंने अपने List<ModelItem> ModelItemList
पर एक खाली "मॉडलइटम" जोड़ा। चूंकि मेरा ModelItemID एक ग्रिड है, इसलिए मुझे अपने नियंत्रक विधि में Guid.Empty की जांच करनी थी और कुछ कोड करना था। सब कुछ है।
उदाहरण के लिए:
Controller :
private void InitScreenInfoCollate()
{
IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode("");
ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null);
}
View :
@Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"})
परिणाम:
धन्यवाद। डिफ़ॉल्ट विकल्प के लिए विकल्प लेबल का पैरामीटर नाम मुझे फेंक दिया :) –
गीज़ ... मैं भी मैं अपनी खुद की सहायक विधि लिखना शुरू कर रहा था ... बकवास नाम IMHO - लगता है जैसे यह
छोटे टाइपो: को पढ़ना चाहिए –
HerbalMart