Asp.net Core ViewModel DataAnnotations 本地化

Asp.net Core ViewModel DataAnnotations Localization

提问人:Ongun23 提问时间:9/18/2016 最后编辑:Ralf BönningOngun23 更新时间:9/20/2016 访问量:1683

问:

我最近一直在练习 Asp.Net 核心 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 核心上尝试了它,但没有奏效。

问题出在视图上,应用程序打印字段名称而不是属性中的值。

MVVM 本地化 ASP.NET ASP.NET-核心 MVC 全球化

评论

0赞 Ongun23 9/18/2016
在 asp.net 核心 1.0.1 上尝试仍然相同。
0赞 Ralf Bönning 9/19/2016
查看 damienbod.com/2015/10/24/...:您是否在启动中添加了“AddDataAnnotationsLocalization().cs?
0赞 Ongun23 9/19/2016
Startup.cs 具有该注册。damienbod 在 GitHub 上也提到了这个问题 github.com/aspnet/Mvc/issues/4761

答:

1赞 Ongun23 9/20/2016 #1

问题解决:solation 在 githubb 上 https://github.com/dotnet/corefx/issues/11846#issuecomment-248148026