asp.net mvc - MVC: How do i declare the name value using DropDownListFor -


मेरे पास एमवीसी में निम्न ड्रॉपडाउन सूची है

  & lt;% = html.DropDownListFor (c = & Gt; c.Address.Id, नई चयनसूची (मॉडल। पता, "आईडी", "नाम", मॉडल। पता। आईडी), "- नया पता -", नया {@name = "[" + orderItemAddressCount + "]। एड्रेसआईडी"})% & gt;  

मैं ड्रॉपडाउन सूची पर नाम मान को ओवरराइट करने का प्रयास कर रहा हूं

यह मुझे मिलता मार्कअप है

  & lt; आईडी चुनें = "पता_आईडी" नाम = "पता.आईडी" & gt; & lt; विकल्प मान = "" & gt; - - नया पता - & lt; / विकल्प & gt;  

यह मुझे लगता है कि मार्कअप है

  & lt; चुनें आईडी = "पता_आईडी" नाम = "[0] .AddressId" & gt; & lt; विकल्प मान = "" & Gt; - नया पता - & lt; / विकल्प & gt;  

मैं DropDownListFor का उपयोग करके नाम मान कैसे घोषित करूं?

आप DropDownListFor विधि द्वारा उत्पन्न नाम को ओवरराइड नहीं कर सकते। यह दृढ़ता से टाइप किया जाता है और यह नाम लैंबडा पर आधारित होता है जो आप तर्क के रूप में गुजर रहे हैं। यदि आप जनरेट के नाम को ओवरराइड करना चाहते हैं, तो जिस तरह से आप चाहते हैं, उसका चयन करें या तो आपको अपना एक्सटेंशन एक्सटेंशन लिखना होगा या गैर-जोरदार टाइप किए गए DropDownList विधि का उपयोग करना होगा:

 < कोड> & lt;% = Html.DropDownList ("[0] .AddressId", नई SelectList (मॉडल। पता, "आईडी", "नाम", मॉडल। Address.Id), "- नया पता -")% & gt;  

लेकिन आप ऐसा क्यों करना चाहते हैं? जब आप फॉर्म सबमिट करते हैं तो आप एक ही व्यू मॉडेल्ड के लिए बाध्य नहीं हैं?


Comments