Html.GetEnumSelectList - 使用空格

时间:2016-10-14 22:20:04

标签: c# html razor enums asp.net-core-mvc

我在Razor视图中使用asp-items="@Html.GetEnumSelectList(typeof(Salary))"并使用select标记,根据enum Salary填充列表值。

但是,我的枚举包含一些我希望在其中有空格的项目。例如。其中一项是PaidMonthly,但当我使用Html.GetEnumSelectList显示时,我希望它显示为"Paid Monthly"(其中有空格)

我尝试在枚举中的每个成员上使用Description属性,但是当选择框呈现时,它仅使用原始值。

有人可以帮我解决这个问题吗?

(我的代码示例) - >使用ASP.NET Core 1.0

Razor查看:

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

Enum Salary:

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

1 个答案:

答案 0 :(得分:19)

我设法解决了这个问题。我只需要使用GetEnumSelectList<>的另一种方法,在Razor视图中我们需要使用Display属性。

以下是代码:

Razor查看:

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

Enum Salary:

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