>扩展方法来枚举的下拉列表的创建。本指南展示了实施此功能的有效技术。Html.DropDownList
对于MVC版本5.1及以后的
>
Html.EnumDropDownListFor
<code class="language-csharp">@Html.EnumDropDownListFor(x => x.YourEnumField, "Select Your Option", new { @class = "form-control" })</code>获得代表枚举的A
>EnumHelper
>
GetSelectList
对于MVC版本5和更早的MVC版本,一种自定义扩展方法(如Rune Westergren的建议)提供了一个简洁的解决方案:SelectList
<code class="language-csharp">@Html.DropDownList("MyOption", EnumHelper.GetSelectList(typeof(MyOption)), "Select Your Option", new { @class = "form-control" })</code>此扩展方法启用了一个清洁器语法:
<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>>选择最适合您的MVC版本的方法,以有效地从枚举中生成下拉列表。
>
以上是如何从ASP.NET MVC中的枚举中创建下拉列表?的详细内容。更多信息请关注PHP中文网其他相关文章!