如何從ASP.NETMVC中的枚舉創(chuàng)建下拉列表?我試著用Html.DropDownList方法,但無法確定如何與枚舉一起使用它。假設(shè)我有這樣的枚舉:public enum ItemTypes{
Movie = 1,
Game = 2,
Book = 3}如何使用Html.DropDownList可拓方法?還是我最好的選擇是簡單地創(chuàng)建一個(gè)for循環(huán)并手動創(chuàng)建HTML元素?
3 回答

天涯盡頭無女友
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
對于MVC V5.1,使用Html.EnumDropDownListFor
@Html.EnumDropDownListFor( x => x.YourEnumField, "Select My Type", new { @class = "form-control" })
對于MVC v5,使用EnumHelper
@Html.DropDownList("MyType", EnumHelper.GetSelectList(typeof(MyType)) , "Select My Type", new { @class = "form-control" })
適用于MVC 5及更低版本
namespace MyApp.Common{ public static class MyExtensions{ public static SelectList ToSelectList<TEnum>(this TEnum enumObj) where TEnum : struct, IComparable, IFormattable, IConvertible { var values = from TEnum e in Enum.GetValues(typeof(TEnum)) select new { Id = e, Name = e.ToString() }; return new SelectList(values, "Id", "Name", enumObj); } }}
ViewData["taskStatus"] = task.Status.ToSelectList();
using MyApp.Common
- 3 回答
- 0 關(guān)注
- 931 瀏覽
添加回答
舉報(bào)
0/150
提交
取消