大家好我有以下代码
<%= Replace(FindAndReplace(objDR.Item("LENTAB_NAME") ),"'","\'") %>
在这里我们正在用'\'替换'字符,这工作正常。 但是当我试图输入像“”这样的值时,它就会给出脚本错误
')'预期
我试图将此内容替换为Replace(string,"'"","\'"")
但失败了
你能帮我解决一下吗?
实际上这是代码段
FoldersArray[FoldersArray.length] = new FoldersListItmes("<%= objDR.Item("TAB_ID") %>","<%= Replace(FindAndReplace(objDR.Item("LENTAB_NAME") ),"'","\\'") %>","<%= Replace(FindAndReplace(objDR.Item("TAB_NAME") ),"'","\'") %>" ,"<%=intCnt %>" )
我在javascript函数中使用服务器端标签...
由于
答案 0 :(得分:2)
我想你也必须逃避你的转义字符,因为\
在字符串中使用时有特殊含义。
所以基本上使用"\\'"
。
答案 1 :(得分:2)
你可能只是逃避引号(你需要转义反斜杠,如@Steve Wang mentioned),但是其他字符(行换行符)会搞砸你。
如果您使用的是最新版本的ASP.Net,则可能需要使用HttpUtility.JavaScriptStringEncode
对所有必需字符进行编码。可悲的是,这在.Net 4中似乎很新。
(MSDN页面提到了URL编码,但我很确定这只是因为Microsoft将其大多数入门级人员分配给MSDN文档;该功能与URL编码无关。)