Maison >développement back-end >C++ >Comment afficher les noms d'affichage des membres Enum dans une vue MVC Razor ?
DisplayName Attributs des membres de l'énumération dans 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>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>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>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!