找不到键为"KeyName"的资源对象 [英] The resource object with key 'KeyName' was not found

查看:87
本文介绍了找不到键为"KeyName"的资源对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用App_GlobalResources开发一个多语言的ASP.NET网站. 在App_GlobalResources文件夹中,我添加了两个资源文件: Resource.language.en-US.resxResource.language.fr-FR.resx.

I am developing a multilingual ASP.NET website using the App_GlobalResources. In App_GlobalResources folder, I added two resource files: Resource.language.en-US.resx and Resource.language.fr-FR.resx.

我还添加了一个名为About.aspx的Web表单. 在此页面中,我添加了以下范围:

I also added a web form named About.aspx. In this page I added this span:

<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:

public class BasePage : System.Web.UI.Page
{
    protected override void InitializeCulture()
    {
        if (!string.IsNullOrEmpty(Request["lang"]))
        {
            Session["lang"] = Request["lang"];
        }
        string lang = Convert.ToString(Session["lang"]);
        string culture = string.Empty;
        if (lang.ToLower().CompareTo("en") == 0 || string.IsNullOrEmpty(culture))
        {
            culture = "en-US";
        }
        if (lang.ToLower().CompareTo("fr") == 0)
        {
            culture = "fr-FR";
        }
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

        base.InitializeCulture();
    }
}

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

Now when I run the project, I get the following error:

描述:资源解析期间发生错误 需要处理此请求.请查看以下具体内容 解析错误详细信息并适当地修改您的源文件.解析器 错误消息:关键字为"aboutFoundation"的资源对象不是 找到了.

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. Parser Error Message: The resource object with key 'aboutFoundation' was not found.

可能是什么问题? 预先感谢.

What could be the issue? Thanks in advance.

推荐答案

您没有名为Resource.language的文件.您有一个Resource.language.en-US.resxResource.language.fr-FR.resx.因此,您可以在App_GlobalResources文件夹中添加另一个文件,名为:Resource.language.resx并且其内容应与Resource.language.en-US.resx完全相同,或者可以将Resource.language.en-US.resx重命名为Resource.language.resx,这样您将拥有一个Resource.language.resx这是必须的.

You don't have a file named Resource.language. You have a Resource.language.en-US.resx and a Resource.language.fr-FR.resx. So you can either add one more file in your App_GlobalResources folder named: Resource.language.resx And it's content should be exactly the same as Resource.language.en-US.resx or you can rename Resource.language.en-US.resx to Resource.language.resx so you would have one Resource.language.resx that is necessary.

这篇关于找不到键为"KeyName"的资源对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆