分析器错误问题

时间:2009-09-22 13:00:05

标签: asp.net

您好我在多语言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>

2 个答案:

答案 0 :(得分:0)

除非我读错了,否则我觉得你正试图在global.asax中添加标签。 global.asax没有可见的用户界面,因此您无法在其中添加标签。

答案 1 :(得分:0)

Tag指定字符串驻留在PageResource中,该页面应该是App_GlobalResources文件夹中的resx文件。如果它不存在那么它就找不到了,你得到了你在这里看到的错误。

添加resx文件并输入正确的条目或更改标记以从现有的resx文件中读取。