我在 C# 中有一个 .Net 应用程序,我有一个类似的文件结构:
App_LocalResources
- MyPage.aspx.resx
- MyPage.aspx.fr.resx
MyPage.aspx
MyPage.aspx.cs
我正在尝试以编程方式更改告诉应用程序使用哪个 resx 文件的语言。我想在文件 (MyPage.aspx.cs) 的代码中执行此操作。
我已经在 OnPreRender、Page_Init 和 Page_Load 事件中尝试了这两种方法:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
它不起作用。该页面仍然显示英语。MyPage.aspx 文件有这个:
<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3>
请注意,我不关心浏览器语言。它必须超越这一点。我一直在网上搜索这个解决方案,但无济于事。所有示例都显示了以我已经尝试过的方式(如上)切换语言,但这不会影响使用的资源文件。有任何想法吗?