您好我在多语言Asp.Net Web应用程序中发现了一个问题
我创建了一个Global.asax文件并编写了代码
private void Application_BeginRequest(Object source, EventArgs e)
{
string[] languages = HttpContext.Current.Request.UserLanguages;
if (languages[0].ToLower() != null && languages[0].ToLower()!="")
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(languages[0].ToLower());
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(languages[0].ToLower());
}
}
并定义标签像这样
<asp:Label ID="Labeldg" runat="server" Text="<%$ Resources:Resource, Labeldg %>"</asp:Label>
但它通过Parser错误如:
分析器错误 说明:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并相应地修改源文件。
分析程序错误消息:找不到具有键“LblUsrName_Login”的资源对象。 来源错误:
</div>
<div class="impcLoginText_Login">
<asp:Label ID="LblUsrName" runat="server" Text="<%$ Resources:PageResource, LblUsrName_Login %>" "></asp:Label>
答案 0 :(得分:0)
除非我读错了,否则我觉得你正试图在global.asax中添加标签。 global.asax没有可见的用户界面,因此您无法在其中添加标签。
答案 1 :(得分:0)
Tag指定字符串驻留在PageResource中,该页面应该是App_GlobalResources文件夹中的resx文件。如果它不存在那么它就找不到了,你得到了你在这里看到的错误。
添加resx文件并输入正确的条目或更改标记以从现有的resx文件中读取。