我想在项目
中使用LinkButton更改语言 <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
mypage.aspx.ru.resx
当我按下此链接按钮时没有任何反应
答案 0 :(得分: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;
}
请注意,如果您不强制格式,日期格式以及数字(和货币)格式也会相应更改。