在ASP.NET中加载外部资源

时间:2013-04-04 15:11:52

标签: c# asp.net resources .net-assembly

我们有一个名为“Main”的项目。在这个项目中,我们所有的资源都在一个名为Ress的文件夹中。当我们调用这些资源时,我们正在使用我们制作的Translator类。

public class Translator
{
    ResourceManager m_ressourceManager;
    string m_completeRessourceName;
    public Translator(string ressourceName)
    {
        m_completeRessourceName = String.Format("Main.Ressources.{0}", ressourceName);
        m_ressourceManager = new ResourceManager(m_completeRessourceName, Assembly.GetExecutingAssembly());
    }

    public string GetString(string name)
    {
        string retString = "";
        try
        {
            retString = m_ressourceManager.GetString(name);
        }
        catch
        {
            retString = m_completeRessourceName + "." + name;
        }
    return retString;
    }
}

在该项目中正确加载所有内容。现在我们得到了第二个名为“Home”的项目。在那个项目中,我添加了traduction类的链接。正如您所看到的,我们的转换器构造函数构建为在“Main”项目中加载资源,子文件夹为“Ressources”。对于我在“Home”项目中的about.aspx页面,我在Main / Ressources中创建了一个名为About.en-CA.resx的资源文件。在执行代码时,我没有收到任何错误,但是没有加载资源。已被重建。

protected override void setPageTranslator()
{
    base.setPageTranslator();
    m_pageTranslator = new Translator("About");
}

protected override void LoadStrings()
{
    m_aboutTitle.Text = m_pageTranslator.GetString("AboutTitle");
}

0 个答案:

没有答案