超文本标记语言GetEnumSelectList -获取带空格的Enum值

本文关键字:Enum 空格 GetEnumSelectList 获取 超文本标记语言 | 更新日期: 2023-09-27 18:13:05

我在Razor视图中使用asp-items="@Html.GetEnumSelectList(typeof(Salary))"和一个选择标签,根据enum Salary填充列表值。

然而,我的enum包含了一些我想在里面加空格的项。例如,其中一个项目是PaidMonthly,但是当我使用Html.GetEnumSelectList显示它时,我希望它显示为"Paid Monthly"(其中有空格)

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

有谁能帮我解决这个问题吗?

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

Razor视图:

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

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

超文本标记语言GetEnumSelectList -获取带空格的Enum值

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

代码如下:

Razor视图:

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

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