>擴展方法來枚舉的下拉列表的創建。本指南展示了實施此功能的有效技術。 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中文網其他相關文章!