2010-06-14 12 views
0

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.

Répondre

1

extension HtmlHelper, ce qui vous permettra d'appeler votre méthode comme ceci:

<%: Html.GetEntry(params) %> 

Semble une assez bonne solution