Anlatacağım özellik MVC 5.1 ile gelmiştir, 5.1 öncesinde kullanamazsınız.
[csharp]public enum _ArticleType{
[Display(Name = "Sağlık Köşesi")] HealthArticles = 1,
[Display(Name = "Hastalıklar")] Diseases = 2
}[/csharp]
Yukarıdaki örneğimde _ArticleType adında bir enum’ım var, buraya kadar herşey bildiğimiz gibi. Ek olarak her enum elemanın üzerinde bu enum’ın arayüzde gösterilirken ne şekilde gösterileceği yazıyor. Bunun için Data Annotations‘lardan faydalanıyorum. Usinglerinizin arasına System.ComponentModel.DataAnnotations eklemeniz gerekmektedir.
Enumla ilgili tüm tanımlamalarımızı yaptığımıza göre arayüzdeki kullanımına geçebiliriz.
[csharp]@Html.EnumDropDownListFor(x => x.ArticleType, "Seçiniz")[/csharp]x.ArticleType modelimden gelmektedir, kullanımı textboxfor ile aynı şekildedir. DropDownList üzerinde seçim yapılmadığında da varsayılan olarak “Seçiniz” yazısı gelecektir.
Merhabalar Sinan bey; aynı yöntemi kullanıyorum fakat ben mesela benim enum class’ımda 5 elaman var ben dorpdown listte sadece 1 ile 4 arasını göstermek istiyorum 5. elemanı gizleme ya da disable yapabilir miyim? bu şekilde hepsi geliyor. Çok araştırdım bir türlü yöntem bulamadım. Teşekkür ederim şimdiden
En basitinden Linq ile where şartı yazabilirsiniz yada bunu yapan bir extension method yazabilirsiniz.