【发布时间】:2016-09-18 11:04:29
【问题描述】:
我最近一直在练习 Asp.Net Core MVC。在使用下面的类和覆盖之前,我们能够本地化和全球化 ViewModel 属性。一个多星期以来,我一直在寻找这个解决方案。
public class LocalizedDisplayNameAttribute : DisplayNameAttribute
{
public LocalizedDisplayNameAttribute(string resourceId)
: base(GetMessageFromResource(resourceId))
{
}
private static string GetMessageFromResource(string resourceId)
{
//return value from whatever the source is.
}
}
我的视图模型看起来像
public class LoginViewModel
{
[CustomRequiredAttribute("Email")]
[LocalizedDisplayName("Email")]
[EmailAddress]
public string Email { get; set; }
[LocalizedDisplayName("Password")]
[CustomRequiredAttribute("Password")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
我复制了相同的 LocalizedDisplay 类并在 Asp.Net 核心上尝试过,但没有成功。
问题已显现,应用程序打印字段名称而不是属性值。
【问题讨论】:
-
在 asp.net core 1.0.1 上试过还是一样。
-
看damienbod.com/2015/10/24/…:你在 Startup.cs 中添加了“AddDataAnnotationsLocalization()”吗?
-
Startup.cs 具有该注册。 damienbod 在 GitHub 上也提到了这个问题github.com/aspnet/Mvc/issues/4761
标签: mvvm localization asp.net-core asp.net-core-mvc globalization