利用显示名称增强 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中文网其他相关文章!