Aspx和Aspx .cs从不同的resx文件中获取字符串
本文关键字:Aspx 文件 获取 字符串 resx cs | 更新日期: 2023-09-27 18:05:19
我创建了两个资源文件"SOSResources.en "。
SOSResources.pt.resx在我的aspx页面中,当我尝试使用下面这些文件中的字符串时,我从标准的英语resx文件中获得它。
asp:Literal ID="btnDelete_Text" Text="<%$Resources:SOSResources, String1%>"
但是,如果我尝试在代码隐藏中获得与下面相同的字符串,我将从葡萄牙语语言文件(这是用户语言)中获得它。
btnEdit_Text.Text = Resources.SOSResources.String1
下面的代码用于处理这个过程。它应该选择用户的语言,或者在此信息不可用的情况下选择英语。但是,只有来自代码隐藏的示例才能获得用户语言。来自aspx页面的示例总是从英文resx文件中获取字符串。
protected override void InitializeCulture()
{
string lang;
if (ActiveUser != null && ActiveUser.Language != null)
{
lang = ActiveUser.Language;
}
else
{
lang = "en";
}
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
base.InitializeCulture();
}
有人能帮帮我吗?我如何确保在这两种情况下,页面将从适当的语言获得字符串?我也不确定这是否是在。net上执行全球化的正确方法。
经过几个小时的研究,我找到了这个适合我的例子:
https://msdn.microsoft.com/en-us/library/bz9tc508 (v = vs.85) . aspx
除此之外,还有另一个问题,当我试图将代码移动到Site:Master或PageBase.cs:
时,也帮助了我。ASP。. NET网页全球化