Enums 如何在枚举中使用显示名称?

Enums 如何在枚举中使用显示名称?,enums,asp.net-mvc-5,Enums,Asp.net Mvc 5,问题: public enum status { [Display(Name="In Progress")] In_Progrss, [Display(Name="Completed")] Completed } 这是我的枚举,我在MVC5的下拉列表中使用它,同时创建项目并在项目详细信息页面上显示此状态。但是这些显示名称在下拉列表中正常工作,但在详细信息页面中显示原始值,例如,正在进行中。如何使用显示名称 代码: public enum status { [Display(Name="In

问题:

public enum status
{
[Display(Name="In Progress")]
In_Progrss,

[Display(Name="Completed")]
Completed
}
这是我的枚举,我在MVC5的下拉列表中使用它,同时创建项目并在项目详细信息页面上显示此状态。但是这些显示名称在下拉列表中正常工作,但在详细信息页面中显示原始值,例如,正在进行中。如何使用显示名称

代码:

public enum status
{
[Display(Name="In Progress")]
In_Progrss,

[Display(Name="Completed")]
Completed
}

您是否在视图中使用
@Html.EnumDropDownListFor()
?是的。我在视图中使用它,它在下拉列表中工作正常,但当我试图显示项目的详细信息时,它显示的是正在进行中,而不是正在进行中(您需要创建自己的扩展方法来返回
DisplayName
属性的值。将帮助您开始(请参阅接受答案中的
公共静态字符串GetDisplayValue(T value)
方法)