我的Web应用程序中的App_GlobalResources中有一个resx文件,调用时带:
Resources.GetResource("ResourceFileName", "Resource")
Run Code Online (Sandbox Code Playgroud)
辅助方法存在于单独的类库中以获取资源值:
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我点击F5,一切正常.如果我部署到Web服务器,则对GetGlobalResourceObject的所有调用都将返回null.
资源存在.我怎么把它们拿出来?
谢谢,
理查德
小智 5
我也有同样的问题,是的"GetGlobalResourceObject(...)"在发布后返回null.
于是,我找到了解决办法使用,而不是"GetGlobalResourceObject('标题’,'button_go_text’)"到"Resources.Captions.ResourceManager.GetString(键)"
示例代码如下所示
public static string GetResMsg(this HtmlHelper htmlHelper, string key)
{
try
{
return Resources.[resource class name].ResourceManager.GetString(key);
}
catch
{
return "?";
}
}
Run Code Online (Sandbox Code Playgroud)
我希望有帮助,
最好的祝福