0

我想在我的项目中使用 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>

对于这个页面,我创建了本地资源

我的页面.aspx.resx

mypage.aspx.ru.resx

当我按下此链接按钮时,没有任何反应

4

1 回答 1

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;
}

请注意,如果您不强制格式,日期格式以及数字(和货币)格式也会相应更改。

于 2012-08-01T07:51:15.867 回答