從ASP.NET MVC
中的枚舉生成下拉列表
ASP.NET MVC簡化了使用>擴展方法來枚舉的下拉列表的創建。本指南展示了實施此功能的有效技術。 Html.DropDownList
對於MVC版本5.1及以後的
>,該方法簡化了該過程。 只需提供代表枚舉,下拉標籤和任何所需的HTML屬性的模型屬性。 >
Html.EnumDropDownListFor
> MVC版本5,類提供方便的替代方案。使用1 | @Html.EnumDropDownListFor(x => x.YourEnumField, "Select Your Option" , new { @ class = "form-control" })
|
登入後複製
獲得代表枚舉的A>EnumHelper
>
GetSelectList
對於MVC版本5和更早的MVC版本,一種自定義擴展方法(如Rune Westergren的建議)提供了一個簡潔的解決方案:SelectList
1 | @Html.DropDownList( "MyOption" , EnumHelper.GetSelectList(typeof(MyOption)), "Select Your Option" , new { @ class = "form-control" })
|
登入後複製
此擴展方法啟用了一個清潔器語法:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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);
}
}
}
|
登入後複製
>選擇最適合您的MVC版本的方法,以有效地從枚舉中生成下拉列表。 >
以上是如何從ASP.NET MVC中的枚舉中創建下拉列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!