Maison > développement back-end > C++ > Comment afficher les noms d'affichage des membres Enum dans une vue MVC Razor ?

Comment afficher les noms d'affichage des membres Enum dans une vue MVC Razor ?

Mary-Kate Olsen
Libérer: 2025-01-27 09:31:08
original
880 Les gens l'ont consulté

How to Display Enum Member Display Names in an MVC Razor View?

DisplayName Attributs des membres de l'énumération dans la vue du rasoir MVC

Lorsque vous utilisez l'énumération, vous devez souvent récupérer l'attribut de nom d'affichage pour afficher son nom convivial. Ce problème de débordement de pile résout cette demande, en particulier dans le contexte de la vue du rasoir MVC.

La tâche consiste à créer la liste sélectionnée dans le modèle du modèle. Le fragment de code fourni par l'utilisateur démontre la récupération de la valeur d'énumération, mais n'a pas la méthode de recherche de l'attribut de nom.

La solution réside dans la classe ENUMEXtensions fournie dans la réponse:

<code class="language-csharp">public static class EnumExtensions
{
    /// <summary>
    ///     一个通用的扩展方法,用于反射和检索应用于`Enum`的任何属性。
    /// </summary>
    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
En utilisant cette méthode d'extension, l'attribut de nom d'affichage de récupération devient très simple:

<code class="language-csharp">var seasonDisplayName = Season.GetAttribute<DisplayAttribute>();
Console.WriteLine("现在是什么季节?");
Console.WriteLine(seasonDisplayName.Name);</code>
Copier après la connexion
Dans votre vue de rasoir, vous pouvez modifier le code comme suit pour contenir le nom d'affichage:

<code class="language-csharp">@currentPromotion.GetAttribute<DisplayAttribute>().Name</code>
Copier après la connexion
Cette méthode vous permet d'afficher dynamiquement le nom d'affichage des membres de l'énumération dans la vue pour améliorer l'expérience utilisateur.

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