我这样在我的项目中有一个enum
:
public enum Gender
{
[Display(Name="Gender.Male")]
Male,
[Display(Name="Gender.Female")]
Female
}
[当我使用下面的代码时,它将自动从Gender
文件中检索.resx
值的名称,并在剃刀视图中显示转换后的值。
@Html.DisplayFor(x => x.Gender) //result: Männlich
但是,如何在后端获取Gender
值的本地化名称?或如何在控制器类中使用DisplayFor
或类似的东西?
//Desired
string gender = DisplayFor(x => x.Gender); //gender = "Männlich"
我应该编写一种新方法而不是使用DisplayFor
吗?
// Example for a specifi value
string enumName = Gender.Male.GetType()
.GetMember(Gender.Male.ToString())
.SingleOrDefault()
.GetCustomAttribute<DisplayAttribute>()
.GetName();
现在您有了名称,请使用GetString(String, CultureInfo) 从Resx获取名称>