【问题标题】:Javascript function not getting called when ' (single quote)is present存在'(单引号)时未调用Javascript函数
【发布时间】:2014-02-09 13:53:13
【问题描述】:

我通过以下方式调用 javascript 函数:

    <a href='javascript:void(0)' onclick='javascript:onEditRevPrepare("<%# 
Convert.ToString(Eval("ReviewTitle")))%>")'>

Eval("ReviewTitle") 中存在单引号 (') 时,它不会调用该函数。

我试过了:

Convert.ToString(Eval("ReviewTitle"))).Replace("'","\")

但这不起作用。

也尝试过:

 <a href='javascript:void(0)' onclick='javascript:onEditRevPrepare("&quot;<%# 
    Convert.ToString(Eval("ReviewTitle")))%>&quot;")'>

但这也没有用。

编辑

当我在替换中添加 ' 或 / 时,我停止获取 javascript 行,这表明函数调用不正确:

请看替换后的虚线

【问题讨论】:

    标签: c# javascript asp.net .net


    【解决方案1】:

    最简单的,你可以

    //Convert.ToString(Eval("ReviewTitle"))).Replace("'","\") //broken
      Convert.ToString(Eval("ReviewTitle"))).Replace("'","\\'").Replace("\"","\\\"")
    

    但是,您确实应该查看javascript encoding 以获得更强大的解决方案。

    【讨论】:

    • @SagarS.Dhanorkar 我没有看到它被提及。仔细观察以发现差异。
    • @SagarS.Dhanorkar:我犯了一个错误。使用上述更改重试。
    猜你喜欢
    • 2016-07-21
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多