window.showModalDialog参数传递中含有特殊字符的处理方法
更新时间:2013年06月06日 17:13:26 作者:
程序运行出错经,过检查发现传递的数据中出现了#等特殊字符,浏览器只取到#号前面的数据,后面的被截断,下面为大家介绍下正确的处理方法
程序没有改动过运行一直正常,突然有一天同事告知出现错误了。经过检查发现传递的数据中出现了#等特殊字符,浏览器只取到#号前面的数据,后面的被截断。然后首先想到先把数据用 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就没有问题,很奇怪,哪位大湿能给指点一下
复制代码 代码如下:
"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就没有问题,很奇怪,哪位大湿能给指点一下
相关文章
封装好的javascript前端分页插件pagination
本文给大家分享一个非常不错的封装好的javascript前端分页插件pagination,不依赖任何库,有很高的扩展性,有需要的小伙伴可以参考下。2016-01-01深入探讨JavaScript中parseInt与Number数字转换方法的区别
在Javascript编程中,数字是一种常见的数据类型,经常需要在不同的情境下进行不同类型的操作,本文将深入探讨parseInt()和Number()的区别,通过代码示例和详细解释,帮助大家更好地理解它们的用途,需要的朋友可以参考下2023-08-08通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码,需要的朋友可以参考下。2011-05-05
最新评论