@HTML.DropDownListFor<>與enum型別

  • 5339
  • 0
  • 2013-04-09

摘要:@HTML.DropDownListFor<>與enum型別

之前, 在Model上使用enum型別, 就會想到要寫一堆Code, 就真OX的煩.

先要在頁面上先手動建立一個IEnumerable<SelectListItem>, 或是用Helper建立一個IEnumerable<SelectListItem>

但是這些方法, 自己怎麼看都覺得很笨, 而且要寫一堆Code.

於是乎, 偷看到別人怎麼寫的

@Html.DropDownListFor(model => model.enumItem, new SelectList(Enum.GetValues(typeof(EnumType))), "請選擇")

雖然產生出來的HTML Tag跟原先寫法產生出來的不太一樣(少了Value), 但是運作上還正常, 包括驗證的部分.

這下可以少很多的Code, 而且比原先的寫法直覺多了.

只是這樣寫還是有點複雜, 還不是那麼直覺, 找天還是寫一個Extetion, 看看會不會比較直覺.