मेरे पास मेरे व्यू-मॉडल के गुणों में से एक के लिए एक enum है। मैं एक ड्रॉप-डाउन सूची प्रदर्शित करना चाहता हूं जिसमें enum के सभी मान शामिल हैं। मैं इसे निम्नलिखित कोड के साथ काम करने के लिए प्राप्त कर सकता हूं।मैं enum मानों के साथ एक ड्रॉपडाउन सूची कैसे बना सकता हूं?
मुझे क्या आश्चर्य है कि क्या एनम से एक आईनेमरेबल में परिवर्तित करने का एक आसान तरीका है? मैं इसे निम्नलिखित उदाहरण में मैन्युअल रूप से कर सकता हूं, लेकिन जब मैं एक नया एनम मान जोड़ता हूं तो कोड ब्रेक होता है। मुझे कल्पना है कि मैं इसे example के अनुसार प्रतिबिंब के माध्यम से कर सकता हूं, लेकिन क्या ऐसा करने के अन्य तरीके हैं? Enum.GetNames पर
public enum Currencies
{
CAD, USD, EUR
}
public ViewModel
{
[Required]
public Currencies SelectedCurrency {get; set;}
public SelectList Currencies
{
List<Currencies> c = new List<Currencies>();
c.Add(Currencies.CAD);
c.Add(Currencies.USD);
c.Add(Currencies.EUR);
return new SelectList(c);
}
}
शानदार समाधान! –
वास्तव में महान समाधान। हालांकि, अगर enum में प्रविष्टि में वर्णन विशेषता नहीं है, तो यह विफल हो जाती है। तो 'FirstOrDefault() 'और 'आइटम्स' के बजाय' .irst() 'को प्रतिस्थापित करें। जोड़ें (मान, attrs.GetName());' आइटम हैं। जोड़ें (मान, attrs! = Null? Attrs.GetName (): value.ToString()); 'यह आपको स्पष्ट एनम प्रविष्टियों के विवरण में टाइपिंग सहेजता है। – trailmax
किया गया, सुधार के लिए धन्यवाद। –