Comment puis-je accéder à la fonction GetGlobalResourceObject d'une classe qui n'est pas une page?
-
12-09-2019 - |
Question
J'ai une classe dans mon asp.net proj, je voudrais avoir accès GetGlobalResourceObject (cette page expose), partout dans le site, possible?
En d'autres termes, je veux accéder aux ressources mondiales d'une classe qui n'est pas une page que je ne me soucie pas comment.
La solution
Réponse: Oui, comme pseudo suivant:
Resources.<The name of the resources file name>.<your resource key>;
Exemple:
lblTitle.Text = Resources.MySettings.WebsiteTitle;
Resources
est un espace de noms généré automatiquement Visual-Studio qui expose toutes les classes mondiales des ressources et des accessoires dans le projet.
Autres conseils
Vous devez utiliser
HttpContext.GetGlobalResourceObject("myResourceKey")
... parce que de cette façon, il continuera à fonctionner lorsque vous utilisez un resourceProvider personnalisé. La valeur par défaut de type générateur pour les fichiers de ressources utilise le fournisseur Resx explicitement et ne fonctionnera pas si vous implémentez quelque chose comme un
Si vous êtes dans le site que vous avez accès à HttpContext et peut utiliser: HttpContext.GetGlobalResourceObject("myResourceKey")
Dans certaines fermes, vous aurez besoin d'envelopper l'appel à
HttpContext.GetGlobalResourceObject("myResourceKey")
à l'intérieur d'un bloc try / catch pour l'obtenir sur le « Impossible de trouver des ressources appropriées pour la culture spécifiée ou la culture neutre » erreur.
Je pris un peu ce du concepteur de ressources,
ResourceManager temp =
new ResourceManager("Resources.<<resource name>>",
System.Reflection.Assembly.Load("App_GlobalResources"));