逃避撇号从代码背后传递

时间:2015-02-12 15:16:37

标签: javascript asp.net vb.net

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

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

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

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

由于

1 个答案:

答案 0 :(得分:1)

创建一个函数来转义撇号,然后在每个函数周围调用它。类似的东西:

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)%>')"