Heim >Web-Frontend >js-Tutorial >window.showModalDialog参数传递中含有特殊字符的处理方法_javascript技巧

window.showModalDialog参数传递中含有特殊字符的处理方法_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:32:321303Durchsuche

程序没有改动过运行一直正常,突然有一天同事告知出现错误了。经过检查发现传递的数据中出现了#等特殊字符,浏览器只取到#号前面的数据,后面的被截断。然后首先想到先把数据用 Server.UrlEncode方法编码一下,虽然可以看到特殊字符已经被编码,可是正确的数据依然没有传递过去,错误依旧。

复制代码 代码如下:

"JavaScript:window.showModalDialog('Info.aspx?bh=" + Server.UrlEncode(e.Row.Cells.FromKey("编号").Text.Trim()) + "‘,null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"

然后改用Escape方法后,参数传递正常:
复制代码 代码如下:

"JavaScript:window.showModalDialog('Info.aspx?bh='+ escape(\"" + e.Row.Cells.FromKey("编号").Text.Trim() + "\"),null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"

但是如果不是用模态窗口而直接把链接地址打开的话用Server.UrlEncode就没有问题,很奇怪,哪位大湿能给指点一下
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn