如何覆盖资源(.resx)行为

时间:2014-12-04 11:39:04

标签: asp.net localization globalization

我们通过使用resx文件在我们的应用程序中应用本地化,并通过调用Resources.Resource.Key和ResourceManager类来获取键的值。目前我们面临的问题是,在某些语言中出现单(')和双引号(“),而在英语资源中则没有这样的事情。问题是当我们调用javascript方法如alert('value')in代码然后它崩溃,因为另一个单引号内的单引号不起作用。我知道有办法通过用“\”替换单引号来处理它,但为了解决这个问题,我需要在整个应用程序中编写这段代码。是否有任何解决方法,每当我调用资源时,我通过上面提到的方式调用我自己调用的一个方法,我可以修改资源返回的值。等待你的宝贵建议。谢谢

1 个答案:

答案 0 :(得分:0)

您引用资源的任何地方都应该对输出进行HTML编码。如果您使用的是ASP.NET WebForms,则可以使用<%: Resources.Strings.Something %>。如果您正在使用Razor视图引擎,那么它将默认为HTML编码。