2013-05-31 47 views
1

我有一個完整的應用程序,它使用Web應用程序,數據庫和一些業務邏輯層。問題是每個人都被配置爲使用系統文化。我需要把文化固定在所有這些文化上,而不是標準文化。我曾嘗試添加到web.config中的全球化標記,但我仍然有問題,它似乎沒有工作。更改.net asp mvc 4文化信息,應用程序範圍

我還在我的佈局頁面中添加了「globalize.js」腳本,所以腳本可以像系統的其他部分一樣工作,但它也不起作用。

+0

PLZ份額更詳細你到底想達到什麼,你實現什麼辦法... –

回答

5

嘗試將此代碼添加到在Global.asax

using System.Globalization; 
    using System.Threading; 
    protected void Application_BeginRequest(object sender, EventArgs e) 
    { 

     string lang = Request.RequestContext.RouteData.Values["culture"].ToString(); 
     //CultureInfo culture = CultureInfo.InvariantCulture;//if need invariant 
     CultureInfo culture = CultureInfo.GetCultureInfo(lang); 

     Thread.CurrentThread.CurrentUICulture = culture; 
     Thread.CurrentThread.CurrentCulture = culture; 
    } 

作品對我來說

+0

這隻會影響網絡應用文化不會呢?我也需要它來影響業務邏輯和數據庫,否則會出現錯配 – user1777914

+2

10除非您正在創建新線程,否則應該這樣做。這將在請求開始時在線程上設置文化信息,這在大多數情況下將是業務和數據邏輯執行的同一線程。 –

+0

如果您跨越進程邊界,則範圍會發生變化。 –

相關問題