我正在开发Web应用程序和.NET Core,最近遇到了这个问题。
它在@Html.DisplayFor(model => model.MutatieReden)
中显示枚举值的ID,但是我想显示枚举的名称,因为这是一个“详细信息”视图。
我的枚举是这样构建的,我缺少什么吗?:
//Class property
public Reden? MutatieReden { get; set; }
//Enum
public enum Reden
{
[Display(Name = "Niet van toepassing")] NietVanToepassing = 1,
[Display(Name = "Administratieve reden")] AdministratieveReden = 2,
[Display(Name = "Niet akkoord klant")] NietAkkoordKlant = 3,
[Display(Name = "Incasso blokkade")] IncassoBlokkade = 4,
}
我尝试了各种解决方案,但其中大多数是针对常规ASP.NET MVC的,答案都已过时。
编辑:这不是重复的,因为这是针对ASP.NET Core的,而其他解决方案则是针对.NET MVC 5.1的。已经尝试过这些解决方案。
答案 0 :(得分:1)
出于展示目的,我认为我们可以使用:
QT += core
QT += network
TARGET = TcpServer
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
或者您甚至可以创建仅用于显示的额外属性:
@Html.Display(Model.MutatieReden.GetDisplayName())
将此静态方法添加到静态类中,例如公共静态类EnumHelper
public string MutatieRedenText { get => this.MutatieReden.GetDisplayName(); }
PS:我尚未使用编译器进行测试,但它可能有效
答案 1 :(得分:1)
根本不需要Display
属性:
Reden enum_value = Reden.AdministratieveReden;
string enum_name = Enum.GetName(typeof(Reden), enum_value);