在 ASP.NET MVC 中使用枚舉值填充下拉列表
在 ASP.NET MVC 中創建使用枚舉值填充的下拉列表,可以使用 Html.DropDownList
擴展方法輕鬆實現。要將此方法與枚舉一起使用,請按照以下步驟操作:
對於 MVC v5.1(及更高版本):
使用 Html.EnumDropDownListFor
方法:
@Html.EnumDropDownListFor( x => x.YourEnumField, "请选择类型", new { @class = "form-control" } )
對於 MVC v5(及更低版本):
使用 EnumHelper
類:
@Html.DropDownList("MyType", EnumHelper.GetSelectList(typeof(MyType)), "请选择类型", new { @class = "form-control" } )
如果您使用的是 MVC 5 或更低版本,您可以使用擴展方法擴展 Rune 的解決方案:
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();
請記住包含 MyApp.Common
命名空間以利用此擴展方法。
以上是如何在ASP.NET MVC中填充具有枚舉值的下拉列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!