找不到具有键“KeyName”的资源对象

时间:2015-11-19 11:43:02

标签: c# asp.net localization

我正在使用Microsoft.net.Http开发一个多语种ASP.NET网站。 在App_GlobalResources文件夹中,我添加了两个资源文件: App_GlobalResourcesResource.language.en-US.resx

我还添加了一个名为Resource.language.fr-FR.resx的网络表单。 在这个页面中,我添加了这个范围:

About.aspx

在代码背后:

<span>
    <asp:Literal ID="Literal1" runat="server" Text="<%$Resources:Resource.language, aboutFoundation%>" />
</span>

最后,public partial class About : BasePage { protected void Page_Load(object sender, EventArgs e) { Session["lang"] = "en"; } }

BasePage

现在,当我运行项目时,出现以下错误:

  

描述:解析资源期间发生错误   需要为此请求提供服务。请查看以下具体内容   解析错误详细信息并适当修改源文件。分析器   错误消息:具有键'aboutFoundation'的资源对象不是   找到。

可能是什么问题? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您没有名为Resource.language的文件。您有Resource.language.en-US.resxResource.language.fr-FR.resx。因此,您可以在名为App_GlobalResources的{​​{1}}文件夹中再添加一个文件,其内容应与Resource.language.resx完全相同,或者您可以重命名Resource.language.en-US.resxResource.language.en-US.resx,所以你需要一个Resource.language.resx