Nutzung von Anzeigenamen für eine verbesserte Enum-Darstellung in ASP.NET MVC Razor Views
Die Verwendung des Attributs [Display]
zum Anreichern von Enum-Mitgliedern ermöglicht eine sauberere und benutzerfreundlichere Darstellung von Enum-Werten in Razor-Ansichten. Dieser Ansatz vereinfacht die Anzeige ausgewählter Enum-Daten.
Verwendung von Erweiterungsmethoden für den Attributabruf
Der direkte Zugriff auf den Anzeigenamen in Razor erfordert eine benutzerdefinierte Erweiterungsmethode. Diese generische Erweiterungsmethode ruft alle Attribute ab, die auf eine Aufzählung angewendet werden:
<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>
Implementieren der Erweiterung in Razor Views
Diese Erweiterung vereinfacht den Zugriff auf das Anzeigeattribut in Ihren Razor-Ansichten:
<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>
Dieser Code durchläuft Enum-Werte, identifiziert Übereinstimmungen mit der Eigenschaft des Modells und verwendet die Erweiterung, um den Anzeigenamen abzurufen. @displayAttribute?.GetName()
behandelt Nullwerte sicher und greift auf den Anzeigenamen zu.
Diese Erweiterungsmethode bietet eine optimierte Möglichkeit, auf Enum-Anzeigenamen in Razor-Ansichten zuzugreifen und diese anzuzeigen, wodurch die Klarheit und Benutzererfahrung Ihrer ASP.NET MVC-Anwendungen verbessert wird.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der Razor-Syntax in ASP.NET MVC auf Enum-Anzeigenamen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!