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

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

问题描述

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

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.

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天全站免登陆