ホームページ >バックエンド開発 >C++ >ASP.NET MVC Razorビューでenumメンバーの名前を表示するにはどうすればよいですか?

ASP.NET MVC Razorビューでenumメンバーの名前を表示するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-27 09:11:13393ブラウズ

How to Get Display Names of Enum Members in ASP.NET MVC Razor Views?

ASP.NET MVC Razor ビューでの Enum メンバー名の表示

ASP.NET MVC Razor ビューで表示属性で拡張された列挙型を操作する場合、ユーザー フレンドリーなインターフェイスを作成するには、これらの表示名に効率的にアクセスすることが重要です。 この記事では、これを達成するための解決策を紹介します。

課題は、フラグ値に基づいて enum メンバーの表示名を取得することにあります。 一般的なアプローチには、リフレクションの使用が含まれます。 次の拡張メソッド GetAttribute() はこれを容易にします:

<code class="language-csharp">public static TAttribute GetAttribute<TAttribute>(this Enum enumValue)
    where TAttribute : Attribute
{
    return enumValue.GetType()
                    .GetMember(enumValue.ToString())
                    .First()
                    .GetCustomAttribute<TAttribute>();
}</code>

このメソッドは、列挙メンバーに関連付けられた属性を動的に取得します。

これを Razor ビューに適用すると、改善されたコードは次のようになります:

<code class="language-csharp">@foreach (var aPromotion in Enum.GetValues(typeof(UserPromotion)))
{
    var currentPromotion = (int)Model.JobSeeker.Promotion;
    if ((currentPromotion & aPromotion) == aPromotion)
    {
        @aPromotion.GetAttribute<DisplayAttribute>().Name
    }
}</code>

この改訂された Razor コードは、GetAttribute() メソッドを利用して、ループ内の各列挙メンバーの DisplayAttribute を取得します。 取得された属性の Name プロパティは、必要な表示名を提供します。 このアプローチにより、基になる列挙値の代わりにユーザーフレンドリーな名前が表示されるようになります。

以上がASP.NET MVC Razorビューでenumメンバーの名前を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。