当'(单引号)存在时,不会调用Javascript函数

时间:2014-01-20 11:48:18

标签: c# javascript asp.net .net

我通过以下方式调用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行,这表示函数调用不正确:

enter image description here

请在替换后查看折线

1 个答案:

答案 0 :(得分:1)

最简单的,你可以

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

但是,你真的应该看一下javascript encoding更强大的解决方案。