Localisation de l'attribut DisplayName avec des ressources
Dans les applications localisées, il est souhaitable de définir dynamiquement l'attribut DisplayName d'une propriété de modèle en fonction d'une ressource valeur. Cependant, l'attribut DisplayName traditionnel dans l'espace de noms System.ComponentModel ne prend pas en charge la localisation.
Solution de contournement avec l'attribut Display dans MVC 3 et .NET 4
Dans MVC 3 avec .NET 4, l'attribut Display de l'espace de noms System.ComponentModel.DataAnnotations offre une solution pour la localisation. Il remplace l'attribut DisplayName et inclut :
[Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]
Ici, "labelForName" est la clé dans le fichier de ressources et "Resources.Resources" est le nom complet de la classe de ressources.
EmberCD Windsor Helper (facultatif)
Pour les projets ASP.NET Core et EF Core, l'EmberCD Windsor Helper fournit une solution similaire :
[Required] [DisplayNameResource(typeof(Resources.Resources), "labelForName")] public string name{ get; set; }
Considérations supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!