ホームページ > バックエンド開発 > C++ > ASP.NET MVCドロップダウンを列挙値に入力する方法は?

ASP.NET MVCドロップダウンを列挙値に入力する方法は?

Linda Hamilton
リリース: 2025-01-31 11:06:11
オリジナル
648 人が閲覧しました

How to Populate ASP.NET MVC Dropdowns with Enumeration Values?

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);
        }
    }
}
ログイン後にコピー
このアプローチにより、MVCバージョンに関係なく、ドロップダウンリストをドロップダウンリストに統合できるようになります。 プロジェクトのMVCバージョンとコーディングスタイルに最適な方法を選択してください。

以上がASP.NET MVCドロップダウンを列挙値に入力する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート