Heim > Backend-Entwicklung > C++ > Wie kann ich mithilfe der Razor-Syntax in ASP.NET MVC auf Enum-Anzeigenamen zugreifen?

Wie kann ich mithilfe der Razor-Syntax in ASP.NET MVC auf Enum-Anzeigenamen zugreifen?

DDD
Freigeben: 2025-01-27 09:21:09
Original
900 Leute haben es durchsucht

How Can I Access Enum Display Names Using Razor Syntax in ASP.NET MVC?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage