Maison >développement back-end >C++ >Comment puis-je localiser l'attribut DisplayName dans les applications .NET ?

Comment puis-je localiser l'attribut DisplayName dans les applications .NET ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-04 09:23:35278parcourir

How Can I Localize the DisplayName Attribute in .NET Applications?

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

  • Assurez-vous que votre fichier de ressources est défini comme « Ressource intégrée » et utilise le « Outil personnalisé de ResXFileCodeGenerator.
  • Évitez d'utiliser App_GlobalResources ou App_LocalResources avec MVC en raison de problèmes de compatibilité. Reportez-vous à la documentation liée pour plus d'informations.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn