2012-08-01 79 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

相关问题