读取资源文件的方法

时间:2011-10-31 20:13:49

标签: c# asp.net code-behind resx

我要做的是在c#codebehind中编写一个方法来根据键读取文本。 现在我只想用一种语言来做这个,这就是为什么我不需要使用System.Globalization.CultureInfo

private ResourceManager rm;
private ResourceReader rr;
public string GetCurrentLanguage(string key)
{ 
    rm = new ResourceManager("~/App_GlobalResources/textFile", System.Reflection.Assembly.GetExecutingAssembly());
    string result = rm.GetString(key).ToString();
    return result;
}

但它不起作用:( 当我写litWelcome.Text = GetCurrentLanguage("Welcome");之类的东西时,它会返回错误。

任何人都知道我做错了什么?

感谢您提前:)

被修改

好吧,我自己得到它这是我的问题的解决方案:

public string GetCurrentLanguage(string key)
{

    string result = Resources.textFile.ResourceManager.GetString(key).ToString();
    return result;
}

感谢大家的帮助:)

3 个答案:

答案 0 :(得分:1)

你可能正在寻找Using Resources for Localization

我知道这不是您问题的直接答案,但也许这是您正在寻找的解决方案。此链接将为您提供有关如何使用内置支持在ASP.NET中本地化网站的信息。

答案 1 :(得分:0)

这条线是否正确?

 rm = new ResourceManager("~/App_GlobalResources\textFile"

您编辑的评论显示:

文件位于〜\ App_GlobalResources \ textFile.resx

你的斜杠不一致。这是您帖子或代码中的拼写错误吗?

答案 2 :(得分:0)

尝试:

全局资源的

GetGlobalResourceObject

本地资源的

GetLocalResourceObject

EX:

Button1.Text = GetLocalResourceObject("Button1.Text").ToString();
Image1.ImageUrl = CType(GetGlobalResourceObject("WebResourcesGlobal","LogoUrl"), String)

了解详情http://msdn.microsoft.com/en-us/library/ms227982.aspx