Отображение html-форматированного текста для значений перечисления в MVC

У меня есть приложение MVC 5, которое использует существующие значения системы для отображения данных, связанных с единицей. Я использую аннотации данных, чтобы преобразовать неприглядные унаследованные данные в красиво отформатированные версии в пользовательском интерфейсе.

Я пытаюсь понять, как правильно отобразить значение 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
        }
    }
}

1 ответ

Решение

Я нашел простой ответ. Я просто должен был использовать значение Unicode для достижения этой цели.

Другие вопросы по тегам