【问题标题】:C# and JavaScript - Escaping Single Quote CharacterC# 和 JavaScript - 转义单引号字符
【发布时间】:2014-09-01 14:48:43
【问题描述】:

我有一个存储如下字符串的 XML 文件:

Error: The form's name field was left empty!

现在,XML 文件中的这条消息在不同的位置使用。例如,它有时会绑定到 aspx 控件,有时会显示在 JavaScript 警报中。

为了对单引号字符进行转义,我将消息修改如下:

Error: The form\'s name field was left empty!

当消息显示在 JavaScript 警报中时,它会按照应有的方式显示,并且单引号已转义。但是,当它绑定到 aspx 控件时,它会按原样显示。

我尝试将消息修改如下:

Error: The form's name field was left empty!

和

Error: The form‘s name field was left empty!

在这两种情况下,当绑定到 asp 控件时,消息会按应有的方式显示。但是,当传递给 JavaScript 警报时,我在 IE8 中收到“)预期”错误。

请问我怎样才能让它同时适用于 aspx 控件和 JavaScript 警报?我已经在这上面浪费了很多时间。非常感谢。

注意我使用的是非常旧的 .NET Framework 版本,特别是 2.0。

【问题讨论】:

    标签: c# javascript asp.net escaping


    【解决方案1】:

    您应该逐字存储您的消息,然后让每个客户端处理特殊字符。因此,存储为Error: The form's name field was left empty!,然后在每种语言中添加一个检查特殊字符并相应地转义它们的步骤。

    【讨论】:

    • 感谢您的建议。没有适用于这两种情况的特定顺序吗?例如,“对于双引号适用于这两种情况。
    • 这种方法为您提供了最大的灵活性,因为并非每种情况都会以每种语言的相同方式处理。最好将您的数据与您的编码语言分开。
    • 我明白了。谢谢。
    猜你喜欢
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2014-03-07
    • 2012-04-06
    • 1970-01-01
    相关资源
    最近更新 更多