根据
documentation:
The runtime doesn’t look up localized strings for non-validation attributes. In the code above,“Email” (from [Display(Name = “Email”)]) will not be localized.
我正在寻找一种在DisplayAttribute中本地化文本的方法.有任何建议以适当的方式做到吗?
解决方法
您可以在DisplayAttribute上设置ResourceType,它可用于本地化您的文本.
将资源.resx文件添加到项目中,例如MyResources.resx,并为您的字段添加资源:
然后在DisplayAttribute中引用字段名称和MyResources类型
[Display(Name = "RememberMe",ResourceType = typeof(MyResources))] public bool RememberMe { get; set; }
本地化资源将自动拉出(参见文本框)
注意:RC2中当前存在一个错误,如果在资源值中使用非拉丁字符,则会抛出NotImplementedException:https://github.com/aspnet/Razor/issues/760