我有一个“资源”文件夹中有两个资源文件的ASP.NET应用程序MVC4,像这样:访问资源字符串(非流动)文化
Project Resources Resources.fr-CA.resx Resources.resx
我设置基于当前文化用户设置和一切正常工作与此设置。
但是,我有一个处理错误的类,它们都显示给用户并将它们记录在数据库中。我想要使用用户的当前文化显示错误消息,但使用英文消息将其记录在数据库中。
我做了一些研究,并找到了一些选项来获取特定文化的资源字符串,但我遇到了问题。
HttpContext.GetLocalResourceString("~/Resources/Resources.resx", "Error_Message", CultureInfo.CreateSpecificCulture("en-US"))
抛出The resource class for this page was not found. Please check if the resource file exists and try again.
我试过搞乱了uri而无济于事。
HttpContext.GetGlobalResourceString("Resources", "Error_Message", CultureInfo.CreateSpecificCulture("en-US"))
总是返回null。
我该如何做到这一点(获取特定文化的资源字符串而不改变Thread.CurrentThread.CurrentCulture
)?
感谢您的回答。我没有使用资源字符串记录操作,只记录用户看到错误消息,以及该消息是什么(除英文而非法语)。我会试一试你的建议。 – Mansfield
没关系,我明白了。我需要为第一个参数指定“true”。非常感谢! – Mansfield