Je tente d'implémenter un service de paramètres régionaux personnalisé dans une page Web MVC 2. J'ai une interface IResourceDictionary qui fournit quelques méthodes pour accéder aux ressources par culture. C'est parce que je veux éviter les classes statiques de ressources .Net.Informations supplémentaires dans ASP.Net MVC View
Le problème est d'accéder à l'IResourceDictionary choisi à partir des vues. J'ai envisagé d'utiliser le ViewDataDictionary donné, en créant un contrôleur de base à partir de laquelle tous mes contrôleurs hérite qui ajoute mon IResourceDictionary à la ViewData avant que chaque action s'exécute.
Je pourrais appeler ma ressource dictionnaire ainsi:
(ViewData["Resources"] as IResourceDictionary).GetEntry(params);
Certes, cela est extrêmement bavard et laid, en particulier dans le code en ligne que nous sommes encouragés à utiliser dans MVC. En ce moment je penche vers l'accès de classe statique
ResourceDictionary.GetEntry(params);
parce que c'est un peu plus élégant. J'ai également pensé à l'ajouter à mon modèle typé pour chaque page, ce qui semble plus robuste que de l'ajouter à ViewData.
Quelle est la manière préférée d'accéder à mon ResourceDictionary à partir des vues? Toutes mes vues utiliseront ce dictionnaire.