0

MVC 2 Web ページにカスタム ロケール サービスを実装しようとしています。カルチャによってリソースにアクセスするためのいくつかのメソッドを提供するインターフェイス IResourceDictionary があります。これは、.Net リソースの静的クラスを避けたいためです。

問題は、ビューから選択した IResourceDictionary にアクセスすることです。与えられた ViewDataDictionary を使用して、各アクションが実行される前に IResourceDictionary を ViewData に追加するすべてのコントローラーが継承する基本コントローラーを作成することを考えました。

次に、リソース ディクショナリを次のように呼び出すことができます。

(ViewData["Resources"] as IResourceDictionary).GetEntry(params);

確かに、これは非常に冗長で見苦しく、特にインライン コードでは、MVC での使用が推奨されています。現在、私は静的クラスアクセスに傾いています

ResourceDictionary.GetEntry(params);

少しエレガントだからです。また、各ページの型付きモデルに追加することも考えました。これは、ViewData に追加するよりも堅牢に思えます。

ビューから ResourceDictionary にアクセスするための推奨される方法は何ですか? 私のすべてのビューは、この辞書を使用します。

4

1 に答える 1

1

HtmlHelper拡張機能。これにより、次のようにメソッドを呼び出すことができます。

<%: Html.GetEntry(params) %>

かなり良い解決策のようです

于 2010-06-14T12:20:41.637 に答える