我要做的是在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;
}
感谢大家的帮助:)
答案 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)