繁体   English   中英

将带双引号和单引号的字符串从ASP传递到javascript函数

[英]Pass a string with double and single quotes from asp to javascript function

我有以下代码:

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()帮助器:

Response.Write "<a href=""javascript:RenameFunc("& PropertyID & ", '" & Server.HtmlEncode(Replace(PropertyName,"'","\'")) & "')"" onclick=""""> </a>"

请参阅说明文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM