Формат html.GetEnumSelectList-получение значений перечисления с пробелами

Я был с помощью asp-items="@Html.GetEnumSelectList(typeof(Salary))" в моем представлении бритвы с тегом select, чтобы заполнить значения списка на основе enum Salary.

однако мое перечисление содержит некоторые элементы, которые я хотел бы иметь пробелы внутри. Е. Г. одним из элементов PaidMonthly, но когда я показываю это, используя Html.GetEnumSelectList, Я хотел бы, чтобы он отображался как "Paid Monthly" (с пробелом)

Я попытался с помощью Description атрибут над каждым членом в перечислении, однако, когда поле выбора отображает его использует необработанное значение только.

может ли кто-нибудь помочь мне в этом вопросе?

(мой пример кода) - > использование ASP.NET Core 1.0

Вид Бритвы:

<select asp-for="PersonSalary" asp-items="@Html.GetEnumSelectList(typeof(Enums.Salary))">
</select>

Перечисление Заработной Платы:

public enum Salary
{
    [Description("Paid Monthly")]
    PaidMonthly = 1,
    PaidYearly = 2
} 

1 ответов


мне удалось решить. Мне просто пришлось использовать другой метод GetEnumSelectList<>, и в представлении Razor нам нужно использовать атрибут Display.

вот код:

Вид Бритвы:

<select asp-for="PersonSalary" asp-items="Html.GetEnumSelectList<Enums.Salary>()"></select>

Перечисление Заработной Платы:

public enum Salary
{
    [Display(Name="Paid Monthly")]
    PaidMonthly = 1,
    PaidYearly = 2
}