Home >Backend Development >C++ >How Can I Access Enum Display Names Using Razor Syntax in ASP.NET MVC?

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

DDD
DDDOriginal
2025-01-27 09:21:09908browse

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

Leveraging Display Names for Enhanced Enum Presentation in ASP.NET MVC Razor Views

Using the [Display] attribute to enrich enum members allows for cleaner, more user-friendly presentation of enum values within Razor views. This approach simplifies the display of selected enum data.

Utilizing Extension Methods for Attribute Retrieval

Accessing the display name directly within Razor requires a custom extension method. This generic extension method retrieves any attribute applied to an enum:

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

Implementing the Extension in Razor Views

This extension simplifies accessing the display attribute within your Razor views:

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

This code iterates through enum values, identifies matches with the model's property, and uses the extension to retrieve the display name. @displayAttribute?.GetName() safely handles null values and accesses the display name.

This extension method provides a streamlined way to access and display enum display names in Razor views, improving the clarity and user experience of your ASP.NET MVC applications.

The above is the detailed content of How Can I Access Enum Display Names Using Razor Syntax in ASP.NET MVC?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn