我正在使用asp.net全局资源来尝试实现一个双语网站,我在全局资源文件中添加了一个名为 en-Us.resx 的简单资源,其中包含:
Password | Text
Email | Text
然后将其实现到默认页面中的文本框:
<asp:TextBox runat="server" ID="loginEmail" Text="<%$ Resources:en-US, Email %>"
></asp:TextBox>
但是当我在 localhost 上运行页面时,我收到此错误:
找不到带有键''的资源对象
我使用的是asp.net 4.0,有什么问题?
答案 0 :(得分:13)
资源文件的格式为ResourceName.culture.resx
在App_GlobalResources文件夹中创建一个名为的资源文件 Main.resx。这是默认文化(即不变量)
然后创建一个资源文件Main.en-US.resx
这是恩美文化的所有资源都将存在的地方,等等。
Main.resx
Main.en.resx
Main.en-US-resx
Main.en-AU.resx
Main.fr.resx
Main.fr-FR.resx
等
要从网页访问此内容,请使用语法
<%$ Resources:Main, Email %>
不要担心文化,系统会解决这个问题。它将首先完全匹配(en-US),然后处理那些文化的父(en),父母的父(Invariant)。
更改“Main”的名称以满足您的需求
答案 1 :(得分:-1)