如何接收ASP.NET LocalResources resx字符串

时间:2014-07-02 08:50:29

标签: c# asp.net localization resx

我的ASP.NET Web窗体应用程序resx文件位于App_LocalResources \ fr.aspx.resx中,其键值为:hello_world。

现在我想在类Page.aspx上的ASPxLabel上使用它,所以我只是简单地说:

<dx:ASPxLabel ID="0" runat="server" Text="<%$ Resources:fr, hello_world %>"></dx:ASPxLabel>

但是我有错误:分析器错误消息:找不到带有密钥“msg”的资源对象。

我确信fr.aspx.resx已被公开,但仍然有Parser Error。我做错了什么?

1 个答案:

答案 0 :(得分:1)

首先检查资源文件的名称。它必须遵循以下命名对话

pageName.extension.language.resx

如果您的aspx页面名称为Page.aspx,那么您应该拥有以下名称的资源文件。(您可以为其他语言和文化添加资源文件)

Page.aspx.fr.resx

检查你是否遵循这种说法。

对于aspx页面中的这个资源,你必须按照下面的标准进行操作

<%$Resources:Class,ResourceID%>

其中Class是资源文件的名称,如果它被编译为类,否则可以忽略它。 ResourceId是资源文件中的密钥。 在您的代码中,您正在设置资源,如下所示。检查资源文件是否具有类名为fr。

的代码隐藏
Text="<%$ Resources:fr, hello_world %>">

有关详细信息,请访问以下链接 http://msdn.microsoft.com/en-us/library/ms227427(v=vs.90).aspx