代码之家  ›  专栏  ›  技术社区  ›  Mark Ursino

用双引号括住ASP.NET控件

  •  1
  • Mark Ursino  · 技术社区  · 15 年前

    我在博客帖子的转发器中工作,在底部显示了一个共享的javascript片段。文章的标题和URL将被发送到JS。在一个测试案例中,文章的标题只有一个引号,例如

    马克的测试岗位

    由于在发送到shareThis时需要保留单引号,因此我需要将该javascript字符串用双引号括起来,但是字符串是通过文本绑定的,我不能用双引号括起来:

    这是我想要的,但不起作用:

    SHARETHIS.addEntry({ title: "<asp:Literal ID="ltlTitle" runat="server" />", etc..
    

    我只能用这样的单引号包装文字:

    SHARETHIS.addEntry({ title: '<asp:Literal ID="ltlTitle" runat="server" />', etc..
    

    但这将导致前端代码错误:

    SHARETHIS.addEntry({ title: 'Mark's test post', etc..
    

    我如何正确地编码它,或者用双引号将控件包装起来?我知道 HttpUtility.HtmlEncode Server.HtmlEncode 但我不明白这些对我有什么帮助。

    2 回复  |  直到 13 年前
        1
  •  1
  •   Community Mohan Dere    8 年前

    您需要在服务器端“javascript编码”您的字符串。 你可能在找这样的东西。

    How do I escape a string inside JavaScript code inside an onClick handler?

        2
  •  0
  •   Mark Ursino    15 年前

    事实证明,我实际上可以在ASP.NET控件本身中使用单引号,这一点我从来不知道是有效的。我以前认为这是一个解析器错误,但我的页面加载正确

    title: "<asp:Literal ID='ltlTitle' runat='server' />"
    

    我想要的结果是:

    title: "Mark's test post"