【问题标题】:Displaying html-formatted text for enum values in MVC在 MVC 中为枚举值显示 html 格式的文本
【发布时间】:2014-06-25 16:34:24
【问题描述】:

我有一个 MVC 5 应用程序,它使用现有系统的值来显示与单位相关的数据。我正在利用数据注释将看起来令人讨厌的旧数据转换为 UI 上格式良好的版本。

我试图弄清楚如何很好地显示 M3 值,使用数字“3”的上标。你会如何解决这个问题?

public enum UnitTypes
{
    [Display(Name = "kg")]
    KG,
    [Display(Name = "kl")]
    KL,
    [Display(Name = "m<sup>3</sup>")]
    M3,
}

此 DisplayTemplate 使用 display 属性(如果存在)。否则默认为枚举的名称。

@using System.ComponentModel.DataAnnotations

@{
    var type = (Type)Model.GetType();
    var field = type.GetField(Model.ToString());
    if (field != null)
    {
        var display = ((DisplayAttribute[])field.GetCustomAttributes(typeof(DisplayAttribute), false)).FirstOrDefault();
        if (display != null)
        {
            @display.GetName()
        }
        else
        {
            @Model
        }
    }
}

【问题讨论】:

    标签: c#-4.0 model-view-controller enums data-annotations display-templates


    【解决方案1】:

    我找到了一个简单的答案。我只需要使用 unicode 值来完成此操作。

    m³
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 2015-08-31
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      相关资源
      最近更新 更多