2016-10-14 90 views
4

我在我的Razor视图中使用了asp-items="@Html.GetEnumSelectList(typeof(Salary))"并带有一个选择标记,以基于enum Salary填充列表值。Html.GetEnumSelectList - 使用空格获取枚举值

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

我使用在每个构件的Description属性在枚举尝试,然而,当选择框呈现它只使用原始值。

任何人都可以请帮我解决这件事吗?

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

Razor视图:

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

枚举薪水:

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

显示你已经尝试 –

+0

与尝试'代码[显示(NAME =“按月支付“)]' –

+0

其实,我也尝试过。不工作虽然:\ – terry45

回答

11

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

下面是代码:

Razor视图:

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

枚举薪水:

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