【发布时间】:2009-09-24 04:06:35
【问题描述】:
我在 Session["lang"] 中有我的目标语言,它是 "en" 或 "it"。我已将此添加到 Site.master:
<script runat="server">
void Page_Load(object sender, EventArgs e) {
string lang = Session["lang"].ToString();
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang);
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang);
}
</script>
然后我想像这样调用一个资源字符串:
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Global, test %>"></asp:Label>
我在 App_GlobalResources 中有两个文件,名为 Global.resx 和 Global.en.resx。
问题是无论 lang 变量是什么,我总是从主 Global.resx 中得到结果,而我从来没有从 Global.en.resx 中得到英文版
我完全做错了??
我尝试将 System.Threading... 部分放在 Global.asax.cs 的 Application_PreRequestHandlerExecute 方法中,但结果是一样的。
谢谢
PS:我正在询问一种以简单方式完成这项工作的方法。如果我要使用复杂的方式,我会选择这个:http://helios.ca/2009/05/27/aspnet-mvc-and-localization/
【问题讨论】:
标签: asp.net-mvc