【发布时间】:2016-12-09 06:52:46
【问题描述】:
我有以下代码:
PropertyID = 101
PropertyName = "My'complex" property name"" //This is passed from sql query
Response.Write "<a href=""javascript:RenameFunc("& PropertyID & ", '" & PropertyName & "' )"" onclick=""""></a>"
问题是,如果我的变量中有单引号或双引号,javascript 函数会刹车(这是正常的)。
我试着像这样逃避它们:
Response.Write "<a href=""javascript:RenameFunc("& PropertyID & ", '" & Replace(Replace(PropertyName,"'",""),"""","") & "' )"" onclick=""""> </a>"
这不会破坏函数,但它会从我的字符串中删除引号,我需要它们。
我也尝试过像这样使用String.row:
Response.Write "<a href=""javascript:RenameFunc("& PropertyID & ", String.raw`"& PropertyName &"` )"" onclick=""""> </a>"
仍然没有成功,但也许我用错了。
有没有其他方法可以传递字符串并保持原样,而不会破坏 javascript 函数?
【问题讨论】:
-
你试过
Server.HTMLEncode()吗? -
刚才我试过了,效果很好! :) 谢谢。如果您愿意,请将其写为答案,我会接受。我知道这会很简单......
标签: javascript string asp-classic escaping quotes