window.showModalDialog参数传递中含有特殊字符的处理

程序运行出错经,过检查发现传递的数据中出现了#等特殊字符,浏览器只取到#号前面的数据,后面的被截断,下面为大家介绍下正确的处理方法

程序没有改动过运行一直正常,突然有一天同事告知出现错误了。经过检查发现传递的数据中出现了#等特殊字符,浏览器只取到#号前面的数据,后面的被截断。然后首先想到先把数据用 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就没有问题,很奇怪,哪位大湿能给指点一下

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdggpp.html