ASP.NET MVC’de DropDownList İçerisinde Enum Değerler Kullanmak

Anlatacağım özellik MVC 5.1 ile gelmiştir, 5.1 öncesinde kullanamazsınız.

public enum _ArticleType
{
[Display(Name = "Sağlık Köşesi")]
HealthArticles = 1,
[Display(Name = "Hastalıklar")]
Diseases = 2
}

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.

@Html.EnumDropDownListFor(x => x.ArticleType, "Seçiniz")

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.

  2Yorumlar

  1. Onur Yıldız   •  

    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

    • Sinan BOZKUŞ   •     Yazar

      En basitinden Linq ile where şartı yazabilirsiniz yada bunu yapan bir extension method yazabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir