2010-04-15 76 views
0

我有支持全球化的Web應用程序。所以我需要爲用戶提供一個選擇他/她登錄的語言的選擇。現在問題是我必須在哪裏進行更改以設置用戶的首選語言。根據用戶選擇在asp.net應用程序中更改用戶語言

+0

我試着重寫InitializeCulture()方法,但是它只設置當前頁面的設置。 – 2010-04-15 05:46:06

+0

另一種可能的方式是按照用戶選擇的語言覆蓋web.config文件設置。但我認爲這可能會影響另一個用戶登錄時的設置。 – 2010-04-15 05:47:46

+0

我認爲這個設置應該存儲在用戶preferrences中,並在用戶每次進入應用程序時加載。 – Ikaso 2010-04-15 05:49:01

回答

0

好吧,我得到了解決: 我嘗試在Global.asax文件中進行以下更改

protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e) 
{   
if (Session["userCultureInfo"] != null) 
    {    
    Thread.CurrentThread.CurrentUICulture = new CultureInfo(Session["userCultureInfo"].ToString()); 
    }   
} 
0

使用ASP.NET配置文件功能將用戶的首選語言聲明爲配置文件屬性。見Tutoriel

(注意,這是@ Ikaso的答案,所以S的改述,他/她應該回答,並獲得學分)

+0

好吧,讓我們說我們已經在會話變量中獲得了文化信息。 現在,我必須編寫代碼來更改語言。 – 2010-04-15 06:35:06

0

除了你得到的解決方案,你可以有你自己的HTTP模塊,並通過URL傳遞它來設置文化。但是您需要在頁面生命週期開始之前在模塊中執行此操作。

相關問題