displayName MVC Razorビューの列挙メンバーの属性
タスクは、各値のモデルから選択されたリストを作成することです。ユーザーが提供するコードフラグメントには、列挙値の検索を実証しますが、名前属性を検索する方法がありません。
ソリューションは、回答に記載されている列挙クラスにあります。
この拡張方法を使用すると、検索ディスプレイ名属性が非常に簡単になります:
<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>
かみそりビューでは、次のようにコードを変更して表示名を含めることができます。
<code class="language-csharp">var seasonDisplayName = Season.GetAttribute<DisplayAttribute>(); Console.WriteLine("现在是什么季节?"); Console.WriteLine(seasonDisplayName.Name);</code>
このメソッドを使用すると、ユーザーエクスペリエンスを強化するために、列挙メンバーの表示名を動的に表示できます。
以上がMVCかみそりビューにenmerメンバー表示名を表示する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。