2011-03-20 16 views
5

मेरे मॉडल में, मेरे पास देश की एक सूची है: Model.ListCountry। देश वर्ग कुछ क्षेत्रों है: क्रमांक, कोड, ValueFR, ValueUSDropDownListFor ... चयनित मूल्य

अपने मॉडल में, मैं एक ग्राहक है और इस ग्राहक कोई देश नहीं है: Model.Customer.Country

मैं इस कोशिश की:

@Html.DropDownListFor(x => x.Record.Customer.Country, new SelectList(Model.ListCountry, "Code", "FR"), new { id = "lbCountry" }) 

कोई जानकारी नहीं ?

धन्यवाद,

Update1: डेटाबेस में, मैं ईद बचाने के लिए, लेकिन के रूप में "विकल्प मान" ड्रॉप-डाउन में मैं कोड का उपयोग करें, और ValueFR या ValueUS भाषा उपयोगकर्ता के आधार के रूप में प्रदर्शन fiels

उत्तर

16

आदेश एक ड्रॉपडाउन सूची में एक मूल्य के पहिले से चयन करने के लिए अपने नियंत्रक कार्रवाई में यह मान के संगत गुण सेट:

model.Record.Customer.Country = "FR"; 

जहां तक ​​ड्रॉपडाउन सूची पीढ़ी दो स्ट्रिंग तर्क आप क़दम हैं संबंध है SelectList constructor पर गाना क्रमशः मूल्य और पाठ के अनुरूप मॉडल के संपत्ति नामों का प्रतिनिधित्व करते हैं। तो मुझे लगता है कि इसे इस तरह अधिक होना चाहिए:

@Html.DropDownListFor(
    x => x.Record.Customer.Country, 
    new SelectList(Model.ListCountry, "Code", "ValueFR"), 
    new { id = "lbCountry" } 
) 

इस उदाहरण में हम ड्रॉपडाउन सूची में मान और पाठ के रूप में ValueFR संपत्ति के रूप में Code संपत्ति का उपयोग कर रहे हैं। तो इस मामले में आपको यह सुनिश्चित करना होगा कि आप model.Record.Customer.Country संपत्ति को Code पर सेट कर रहे हैं जो सूची में मौजूद है और ड्रॉपडाउन स्वचालित रूप से इस आइटम को पूर्व निर्धारित करेगा।

एक और संभावना का उपयोग निम्नलिखित SelectList constructor जो आप पैरामीटर 4 वें के रूप में एक चयनित मान निर्दिष्ट करने के लिए अनुमति देता है: के रूप में `

@Html.DropDownListFor(
    x => x.Record.Customer.Country, 
    new SelectList(Model.ListCountry, "Code", "ValueFR", "FR"), 
    new { id = "lbCountry" } 
) 
+0

मेरी पोस्ट –

+0

@ क्रिस-मैं में Update1 देखें, यदि उपयोग' Id' विकल्प मान' और किसी आइटम को 'CountryId' को ड्रॉपडाउनलिस्ट के सहायक के रूप में पहली बार तर्क के रूप में उपयोग करना चाहते हैं और आपके नियंत्रक कार्रवाई में इस प्रॉपर्टी का मान उस संबंधित देश आईडी पर सेट करें जिसे आप पूर्व निर्धारित करना चाहते हैं। यह भी ध्यान रखें कि स्थानीयकरण को संभालने के लिए दो गुण 'ValueFR' और 'ValueUS' होने का एक बुरा अभ्यास है। आपके पास केवल एक ही संपत्ति होनी चाहिए और वर्तमान भाषा सेटिंग के आधार पर आपकी रिपोजिटरी सही मूल्य के साथ संपत्ति को पॉप्युलेट करेगी। क्या होगा अगर कल आपको तीसरी भाषा संभालने की ज़रूरत है? क्या आप अपना पूरा कोड संशोधित करेंगे? –

+0

मुझे बुरी आदत के बारे में पता है, यह सिर्फ अस्थायी है। वैसे भी .... ड्रॉपडाउन सूची मूल्य अभी भी नहीं चुना गया है। –

संबंधित मुद्दे