2012-08-01 92 views
0

工作,我想改變與LinkBut​​ton的語言在我的項目天冬氨酸的LinkBut​​ton不上按

<asp:LinkButton ID="LinkButton1" runat="server"    
PostBackUrl="~/mypage.aspx?lang=en">english</asp:LinkButton> 


<asp:LinkButton ID="LinkButton2" runat="server" 
PostBackUrl="~/mypage.aspx?lang=ru">русский</asp:LinkButton> 

本頁我創建的本地資源

mypage.aspx.resx

我的空間。 aspx.ru.resx

當我按下這個LinkBut​​ton的什麼也沒有發生

+0

當你評估「lang」查詢字符串參數時,你的代碼在做什麼?我不認爲它會開箱即用 – 2012-08-01 07:43:14

+0

@ Raphael Gabbarelli當我在地址欄中寫入「mypage.aspx?lang = ru」頁面被翻譯成俄語 – Alex 2012-08-01 07:50:33

回答

3

嘗試將此代碼添加到Page_Load事件中(如果您爲頁面使用基類,並將此代碼放入該基本頁面,應用程序中的所有頁面將能夠切換語言,它會更加有效)

if(Request.QueryString["lang"] == "en") 
{ 
    var english = new CultureInfo("en"); 
    System.Threading.Thread.CurrentThread.CurrentCulture = english; 
    System.Threading.Thread.CurrentThread.CurrentUICulture = english; 
} 
else if(Request.QueryString["lang"] == "ru") 
{ 
    var russian = new CultureInfo("ru"); 
    System.Threading.Thread.CurrentThread.CurrentCulture = russian; 
    System.Threading.Thread.CurrentThread.CurrentUICulture = russian; 
} 

請注意,如果您不強制格式,日期格式以及數字(和貨幣)格式也會相應更改。

+0

我將此代碼添加到了我的Page_Load中,但如何更改querystring [「lang」]以en或ru如果我的LinkBut​​ton不起作用 – Alex 2012-08-01 08:17:01

+0

用於測試目的,我添加了2個類似於您使用的2的鏈接,使用PostBackUrl,並且它們正常工作。你能否嘗試看鏈接按鈕是否附加了一些事件處理程序?這可能會阻止主事件正常工作。你使用一些AJAX? – 2012-08-01 08:22:16

+0

我不明白什麼是錯,我不使用ajax – Alex 2012-08-01 08:35:45