Heim >Backend-Entwicklung >C++ >Wie werden die Anzeigenamen von Enum-Mitgliedern in einer MVC Razor-Ansicht angezeigt?

Wie werden die Anzeigenamen von Enum-Mitgliedern in einer MVC Razor-Ansicht angezeigt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-27 09:31:08925Durchsuche

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

Zeigen Sie die DisplayName-Eigenschaft von Aufzählungsmitgliedern in einer MVC Razor-Ansicht an

Wenn Sie mit Aufzählungen arbeiten, müssen Sie häufig die Eigenschaft „Anzeigename“ abrufen, um ihren benutzerfreundlichen Namen anzuzeigen. Diese Frage zum Stapelüberlauf befasst sich mit diesem Bedarf, insbesondere im Zusammenhang mit MVC Razor-Ansichten.

Die Aufgabe besteht darin, eine Liste ausgewählter Werte aus der Promotion-Eigenschaft des Modells zu erstellen, wobei jeder Wert zusammen mit dem zugehörigen Anzeigenamen angezeigt wird. Der vom Benutzer bereitgestellte Codeausschnitt demonstriert den Abruf des Aufzählungswerts, es fehlt jedoch eine Möglichkeit, die Eigenschaft des Anzeigenamens abzurufen.

Die Lösung liegt in der EnumExtensions-Klasse, die in der akzeptierten Antwort bereitgestellt wird:

<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>

Das Abrufen der Anzeigenameneigenschaft wird mit dieser Erweiterungsmethode sehr einfach:

<code class="language-csharp">var seasonDisplayName = Season.GetAttribute<DisplayAttribute>();
Console.WriteLine("现在是什么季节?");
Console.WriteLine(seasonDisplayName.Name);</code>

In Ihrer Razor-Ansicht können Sie den Code wie folgt ändern, um den Anzeigenamen einzuschließen:

<code class="language-csharp">@currentPromotion.GetAttribute<DisplayAttribute>().Name</code>

Dieser Ansatz verbessert die Benutzererfahrung, indem er Ihnen ermöglicht, die Anzeigenamen von Aufzählungsmitgliedern dynamisch in der Ansicht anzuzeigen.

Das obige ist der detaillierte Inhalt vonWie werden die Anzeigenamen von Enum-Mitgliedern in einer MVC Razor-Ansicht angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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