我在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
}
答案 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
}