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

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。