2012-02-22 11 views
6

私はMVC3を使用していて、すべての動作が良好なカルチャを変更するロジックがあります。私の問題は、この変更が行われるべき場所がいくつかあり、私はどこでそれを行うのが最善の場所かわかりません。MVC3リクエストごとにカルチャを変更する正しい方法

いくつかの例では、このようなコントローラの中から、各アクションのオーバーライドを示しています

protected override void OnActionExecuted(ActionExecutedContext filterContext) 
{ 
    // code to change culture 
} 

次のように私は見慣れていますより多くの伝統的な方法は、Global.asaxファイルでそれをやっているのに対し:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    // code to change culture 
} 

これを行うにはどうすればよい場所ですか?

答えて

6

global.asaxはこれを行う正しい方法です。これは、フレームワーク(webforms、動的データ、mvc)で動作します。

+0

は画像のようなものへの要求のために呼び出されている文化コードを停止する適切な方法は、CSSファイル、JavaScriptのなど – eyeballpaul

+0

このweb.configファイルでは、あります"/> – linkerro

4

Application_BeginRequestは問題ありません。そこにスレッドのカルチャを設定すると、HTTP要求全体がそのカルチャで実行されます。 <モジュールrunAllManagedModulesForAllRequests = "偽:

Thread.CurrentThread.CurrentCulture = new CultureInfo(myCulture); 
関連する問題