2012-02-02 48 views
0

就像在這article我實現了一種簡單的方法來切換網站上的語言。Asp.Net CultureInfo切換:試圖避免非回發呼叫

問題是如果我想用下拉列表切換語言,並將最後選定的語言保留在下拉列表控件的視圖中。

我看到的關於CulturalInfo-switching的每篇文章都會在語言切換後立即發送調用,並且該事件會導致非回發頁面重新加載,包括從默認位置實時加載的下拉列表控件。

我嘗試了response.redirect(),但它仍然是一個非回發呼叫

我想我需要一種方法來檢查它是否是一個呼叫在頁面加載,但至今還沒有找到一種方法來開發這個

謝謝。

回答

0

假設你遵循同樣的方法,因爲那篇文章,這個怎麼樣在:

string path = this.Request.Path; 

if (path.LastIndexOf('?') > 0) 
    path += "&lang=" + senderLink.CommandArgument; 
else 
    path += "?lang=" + senderLink.CommandArgument; 

this.Server.Transfer(path); 

然後,在頁面上this.Server.Transfer執行,從this.Request.QueryString["lang"]得到lang值,並設置下拉的SelectedItem適當。

或者,保留Server.Transfer(Request.Path);,但在接收頁面上,解析Session["MyCulture"]而不是設置下拉菜單。 +1