首页 > 后端开发 > C++ > 如何在 ASP.NET MVC 中使用 Razor 语法访问枚举显示名称?

如何在 ASP.NET MVC 中使用 Razor 语法访问枚举显示名称?

DDD
发布: 2025-01-27 09:21:09
原创
866 人浏览过

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

利用显示名称增强 ASP.NET MVC Razor 视图中的枚举表示

使用 [Display] 属性来丰富枚举成员可以在 Razor 视图中更清晰、更用户友好地呈现枚举值。这种方法简化了所选枚举数据的显示。

利用扩展方法进行属性检索

直接在 Razor 中访问显示名称需要自定义扩展方法。此通用扩展方法检索应用于枚举的任何属性:

<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>
登录后复制

在 Razor 视图中实现扩展

此扩展简化了对 Razor 视图中显示属性的访问:

<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>
登录后复制

此代码迭代枚举值,识别与模型属性的匹配,并使用扩展来检索显示名称。 @displayAttribute?.GetName() 安全地处理空值并访问显示名称。

此扩展方法提供了一种在 Razor 视图中访问和显示枚举显示名称的简化方法,提高了 ASP.NET MVC 应用程序的清晰度和用户体验。

以上是如何在 ASP.NET MVC 中使用 Razor 语法访问枚举显示名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板