Я недавно практиковал Asp.Net Core MVC. Мы смогли локализовать и глобализовать атрибуты ViewModel, прежде чем использовать класс ниже и переопределить. Я искал это решение в течение недели.Asp.net Core ViewModel DataAnnotations Локализация
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 ядра 1.0.1 еще же. – user3107888
Глядя на https://damienbod.com/2015/10/24/using-dataannotations-and-localization-in-asp-net-5-mvc-6/: Вы добавили'AddDataAnnotationsLocalization() 'в Startup. cs? –
Startup.cs имеет эту регистрацию. damienbod также упомянул об этой проблеме на GitHub https://github.com/aspnet/Mvc/issues/4761 – user3107888