Html.GetEnumSelectList-使用空格获取枚举值 [英] Html.GetEnumSelectList - Getting Enum values with spaces

查看:363
本文介绍了Html.GetEnumSelectList-使用空格获取枚举值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Razor视图中使用带有选择标记的asp-items="@Html.GetEnumSelectList(typeof(Salary))"来填充基于enum Salary的列表值.

I was using asp-items="@Html.GetEnumSelectList(typeof(Salary))" in my Razor view with a select tag, to populate the list values based on the enum Salary.

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

However, my enum contains some items which I would like to have spaces within. E.g. one of the items is PaidMonthly, but when I display this using Html.GetEnumSelectList, I would like it to be displayed as "Paid Monthly" (with a space in it)

我试图使用过在枚举每个成员属性,但是当选择框呈现它仅使用原始值.

I tried using the Description attribute over each member in the enum, however when the select box renders it uses the raw value only.

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

Can anyone please help me out with this matter?

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

(My Code sample) -> Using 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
} 

推荐答案

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

I managed to solve it. I just had to use the other method of GetEnumSelectList<>, and in the Razor view we need to use the Display attribute.

这是代码:

剃刀视图:

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

枚举薪金:

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

这篇关于Html.GetEnumSelectList-使用空格获取枚举值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆