在ASPX中,我在单击按钮时调用了JS函数,从后面的代码中传入变量,如下所示:

... onclick="SelectEmpl('<%=employer.Name%>', '<%=employer.Surname%>', '<%=employer.Company%>')"


问题在于,传递给SelectEmpl函数的所有参数都是字符串,并且可以包含撇号字符。如果发生这种情况,JS撇号会过早配对,并且评估会失败。

我知道我需要以某种方式转义字符串中的撇号,但是我不确定何时从CB传递它们。

谢谢

最佳答案

创建一个函数来转义撇号,然后在每个引号周围进行调用。就像是:

Shared Function RemoveQuotes(ByVal input As String) As String
  Return Replace(input, "'", "\'")
End Function


然后:

... onclick="SelectEmpl('<%=RemoveQuotes(employer.Name)%>', '<%=RemoveQuotes(employer.Surname)%>', '<%=RemoveQuotes(employer.Company)%>')"

09-17 23:49