【问题标题】:How to override resource (.resx) behaviour如何覆盖资源 (.resx) 行为
【发布时间】:2014-12-04 11:39:04
【问题描述】:

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

【问题讨论】:

  • 等待您的回复。仍然卡住是问题。请帮忙。

标签: asp.net localization globalization


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多