0

I have an MVC 5 app that uses an existing system's values to display unit-related data. I'm utilizing data annotations to convert the nasty-looking legacy data to nicely-formatted versions on the UI.

I'm trying to figure out how to display the M3 value nicely, using a superscript for the number "3". How would you go about fixing this?

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

This DisplayTemplate uses the display attribute, if it exists. Otherwise it defaults to the name of the enum.

@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
        }
    }
}
Rethic
  • 1,054
  • 4
  • 21
  • 36

1 Answers1

0

I found an easy answer. I just had to use a unicode value to accomplish this.

Rethic
  • 1,054
  • 4
  • 21
  • 36