Отображение 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 для достижения этой цели.
m³