0

我有一个MVC 5应用程序,它使用现有系统的值来显示与单元相关的数据。我正在利用数据注释在UI上将难看的遗留数据转换为格式良好的版本。在MVC中为枚举值显示html格式的文本

我想弄清楚如何很好地显示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 
     } 
    } 
} 

回答

0

我找到了一个简单的答案。我只需要使用unicode值来实现这一点。