ASP.net中的资源问题

时间:2011-01-11 12:29:30

标签: asp.net resources

我正在创建一个应用程序,我在其中使用资源文件来保存字符串。在我的应用程序中,我将页面保存在单独的文件夹中,例如所有注册页面都在Register文件夹中。我在此文件夹中的Resources文件夹上创建了所有与注册模块相关的资源文件。但是,当我尝试访问资源字符串时

  <asp:Label Text="<%$Resources: RegisterAsUser, userName%>" runat="server" />

找不到userName键的错误。我无法弄清楚这里的错误。

有人能说出这里有什么问题吗?

谢谢, Ashwani

1 个答案:

答案 0 :(得分:1)

您正在使用显式表达式。

<asp:Label Text="<%$Resources: RegisterAsUser, userName%>" runat="server" />

而另一个选项是隐式表达式

<asp:Label ID="label1" runat="server" meta:resourcekey="userName" ></asp:Label>

对于我理解的显式表达式,它的目的是使用共享位置,以便来自许多aspx文件的资源可以访问来自一个资源文件的值。为此,您的resx文件RegisterAsUser必须位于App_GlobalResources目录下。

使用隐式,从resx文件中查找该值,该文件与aspx文件同名,当然具有正确的本地化值。