我的 Web 应用程序的 App_GlobalResources 中有一个 resx 文件,调用方式为:
Resources.GetResource("ResourceFileName", "Resource")
辅助方法位于单独的类库中以获取资源值:
using System.Resources;
using System.Web;
public static class Resources
{
public static string GetResource(string resource, string key)
{
try
{
string resourceValue = (string)HttpContext.GetGlobalResourceObject(resource, key);
return string.IsNullOrEmpty(resourceValue) ? string.Empty : resourceValue;
}
catch (MissingManifestResourceException)
{
return string.Empty;
}
}
}
如果我按 F5,一切正常。如果我部署到 Web 服务器, 对 GetGlobalResourceObject 的所有 调用都会返回为 null。
资源存在。我怎样才能把它们弄出来?
谢谢,
理查德
最佳答案
我也有同样的问题,是的“GetGlobalResourceObject(...)”在发布后总是返回 null。
因此,我通过使用而不是 'GetGlobalResourceObject("Captions","button_go_text")' 到 'Resources.Captions.ResourceManager.GetString(key)' 找到了解决方案
示例代码如下
public static string GetResMsg(this HtmlHelper htmlHelper, string key)
{
try
{
return Resources.[resource class name].ResourceManager.GetString(key);
}
catch
{
return "?";
}
}
我希望有帮助,
此致
关于c# - 类库中的 HttpContext.GetGlobalResourceObject 始终为 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5931940/