Maison > développement back-end > C++ > Comment récupérer les noms d'affichage Enum dans les vues MVC Razor ?

Comment récupérer les noms d'affichage Enum dans les vues MVC Razor ?

Barbara Streisand
Libérer: 2025-01-27 09:16:10
original
614 Les gens l'ont consulté

How to Retrieve Enum Display Names in MVC Razor Views?

Accès aux noms d'affichage Enum dans les vues MVC Razor

L'affichage efficace des noms d'affichage d'énumération dans vos vues MVC Razor nécessite l'accès aux métadonnées d'attribut. Cela peut être géré avec élégance à l’aide d’une méthode d’extension personnalisée tirant parti de la réflexion.

Approche de la méthode d'extension

La méthode d'extension suivante fournit une solution propre :

<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>
Copier après la connexion

Cette méthode utilise la réflexion pour examiner le type d'énumération et récupérer le premier attribut du type spécifié (TAttribute) associé au membre d'énumération correspondant à la valeur d'énumération fournie.

Mise en œuvre pratique

Voici comment intégrer cette méthode d'extension dans votre vue Razor :

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

Ce code parcourt les valeurs d'énumération UserPromotion. Pour chaque valeur présente dans la propriété Model.JobSeeker.Promotion (en supposant qu'il s'agit d'une énumération de drapeaux), il récupère la propriété DisplayAttribute de Name en utilisant la méthode d'extension et l'affiche. Cela garantit que seules les valeurs d'énumération sélectionnées sont affichées avec leurs noms d'affichage conviviaux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal