ホームページ > バックエンド開発 > C++ > ASP.NET MVC で Razor 構文を使用して Enum 表示名にアクセスするにはどうすればよいですか?

ASP.NET MVC で Razor 構文を使用して Enum 表示名にアクセスするにはどうすればよいですか?

DDD
リリース: 2025-01-27 09:21:09
オリジナル
866 人が閲覧しました

How Can I Access Enum Display Names Using Razor Syntax in ASP.NET MVC?

ASP.NET MVC Razor ビューでの拡張列挙型プレゼンテーションに表示名を利用する

[Display] 属性を使用して列挙メンバーを強化すると、Razor ビュー内で列挙値をよりクリーンでユーザー フレンドリーに表示できるようになります。このアプローチにより、選択された列挙型データの表示が簡素化されます。

属性取得のための拡張メソッドの利用

Razor 内で表示名に直接アクセスするには、カスタム拡張メソッドが必要です。この汎用拡張メソッドは、列挙型に適用される属性を取得します:

<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 ビューでの拡張機能の実装

この拡張機能を使用すると、Razor ビュー内の表示属性へのアクセスが簡素化されます。

<code class="language-csharp">@foreach (int aPromotion in Enum.GetValues(typeof(UserPromotion)))
{
    var currentPromotion = (int)Model.JobSeeker.Promotion;
    if ((currentPromotion & aPromotion) == aPromotion)
    {
        var displayAttribute = currentPromotion.GetAttribute<DisplayAttribute>();
        <li>@displayAttribute?.GetName()</li>  
    }
}</code>
ログイン後にコピー

このコードは列挙値を反復処理し、モデルのプロパティとの一致を特定し、拡張子を使用して表示名を取得します。 @displayAttribute?.GetName() は null 値を安全に処理し、表示名にアクセスします。

この拡張メソッドは、Razor ビューで列挙型表示名にアクセスして表示する合理的な方法を提供し、ASP.NET MVC アプリケーションの明瞭さとユーザー エクスペリエンスを向上させます。

以上がASP.NET MVC で Razor 構文を使用して Enum 表示名にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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