ASP.NET MVCドロップダウンを列挙値
に入力します列挙値を持つドロップダウンリストの動的に住むドロップダウンリストは、ASP.NET MVC開発において頻繁に要件です。 Html.DropDownList
拡張法は簡単なアプローチを提供しますが、列挙と効果的に統合するには慎重な検討が必要です。
public enum ItemTypes { Movie = 1, Game = 2, Book = 3 }
簡略化されたアプローチ(MVC 5.1以降):
MVCバージョン5.1以降の場合、拡張子は簡潔なソリューションを提供します:Html.EnumDropDownListFor
@Html.EnumDropDownListFor(x => x.YourEnumField, "Select Item Type", new { @class = "form-control" })
mvc 5以前:
古いMVCバージョン(5以前)の場合、拡張機能は実行可能な代替品を提供します:EnumHelper
@Html.DropDownList("MyType", EnumHelper.GetSelectList(typeof(ItemTypes)), "Select Item Type", new { @class = "form-control" })
カスタムエクステンションメソッド(MVC 5以前の場合): MVC 5および以前のバージョンの強化されたコードの再利用性とクリーンな構文の場合、カスタム拡張法が推奨されます。
この拡張メソッドは、プロセスを簡素化します:
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); } } }
以上がASP.NET MVCドロップダウンを列挙値に入力する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。