在 ASP.NET MVC 中使用枚举值填充下拉列表
在 ASP.NET MVC 中创建使用枚举值填充的下拉列表,可以使用 Html.DropDownList
扩展方法轻松实现。要将此方法与枚举一起使用,请按照以下步骤操作:
对于 MVC v5.1(及更高版本):
使用 Html.EnumDropDownListFor
方法:
<code class="language-csharp">@Html.EnumDropDownListFor( x => x.YourEnumField, "请选择类型", new { @class = "form-control" } )</code>
对于 MVC v5(及更低版本):
使用 EnumHelper
类:
<code class="language-csharp">@Html.DropDownList("MyType", EnumHelper.GetSelectList(typeof(MyType)), "请选择类型", new { @class = "form-control" } )</code>
如果您使用的是 MVC 5 或更低版本,您可以使用扩展方法扩展 Rune 的解决方案:
<code class="language-csharp">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); } } }</code>
这允许使用简洁的语法:
<code class="language-csharp">ViewData["taskStatus"] = task.Status.ToSelectList();</code>
请记住包含 MyApp.Common
命名空间以利用此扩展方法。
以上是如何在ASP.NET MVC中填充具有枚举值的下拉列表?的详细内容。更多信息请关注PHP中文网其他相关文章!