我正在创建一个应用程序,我在其中使用资源文件来保存字符串。在我的应用程序中,我将页面保存在单独的文件夹中,例如所有注册页面都在Register文件夹中。我在此文件夹中的Resources文件夹上创建了所有与注册模块相关的资源文件。但是,当我尝试访问资源字符串时
<asp:Label Text="<%$Resources: RegisterAsUser, userName%>" runat="server" />
找不到userName键的错误。我无法弄清楚这里的错误。
有人能说出这里有什么问题吗?
谢谢, Ashwani
答案 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文件同名,当然具有正确的本地化值。