window.showModalDialog參數(shù)傳遞中含有特殊字符的處理方法
更新時(shí)間:2013年06月06日 17:13:26 作者:
程序運(yùn)行出錯(cuò)經(jīng),過(guò)檢查發(fā)現(xiàn)傳遞的數(shù)據(jù)中出現(xiàn)了#等特殊字符,瀏覽器只取到#號(hào)前面的數(shù)據(jù),后面的被截?cái)啵旅鏋榇蠹医榻B下正確的處理方法
程序沒(méi)有改動(dòng)過(guò)運(yùn)行一直正常,突然有一天同事告知出現(xiàn)錯(cuò)誤了。經(jīng)過(guò)檢查發(fā)現(xiàn)傳遞的數(shù)據(jù)中出現(xiàn)了#等特殊字符,瀏覽器只取到#號(hào)前面的數(shù)據(jù),后面的被截?cái)?。然后首先想到先把?shù)據(jù)用 Server.UrlEncode方法編碼一下,雖然可以看到特殊字符已經(jīng)被編碼,可是正確的數(shù)據(jù)依然沒(méi)有傳遞過(guò)去,錯(cuò)誤依舊。
"JavaScript:window.showModalDialog('Info.aspx?bh=" + Server.UrlEncode(e.Row.Cells.FromKey("編號(hào)").Text.Trim()) + "‘,null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"
然后改用Escape方法后,參數(shù)傳遞正常:
"JavaScript:window.showModalDialog('Info.aspx?bh='+ escape(\"" + e.Row.Cells.FromKey("編號(hào)").Text.Trim() + "\"),null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"
但是如果不是用模態(tài)窗口而直接把鏈接地址打開(kāi)的話用Server.UrlEncode就沒(méi)有問(wèn)題,很奇怪,哪位大濕能給指點(diǎn)一下
復(fù)制代碼 代碼如下:
"JavaScript:window.showModalDialog('Info.aspx?bh=" + Server.UrlEncode(e.Row.Cells.FromKey("編號(hào)").Text.Trim()) + "‘,null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"
然后改用Escape方法后,參數(shù)傳遞正常:
復(fù)制代碼 代碼如下:
"JavaScript:window.showModalDialog('Info.aspx?bh='+ escape(\"" + e.Row.Cells.FromKey("編號(hào)").Text.Trim() + "\"),null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"
但是如果不是用模態(tài)窗口而直接把鏈接地址打開(kāi)的話用Server.UrlEncode就沒(méi)有問(wèn)題,很奇怪,哪位大濕能給指點(diǎn)一下
相關(guān)文章
前端面試知識(shí)點(diǎn)錦集(JavaScript篇)
這篇文章主要為大家分享了前端面試知識(shí)點(diǎn)錦集JavaScript篇,細(xì)致的給出了每個(gè)js面試知識(shí)點(diǎn)的答案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
JS選項(xiàng)卡動(dòng)態(tài)替換banner圖片路徑的方法
這篇文章主要介紹了JS選項(xiàng)卡動(dòng)態(tài)替換banner圖片路徑的方法,涉及javascript操作文件css樣式的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05
使用PBFunc在Powerbuilder中支付寶當(dāng)面付款功能
這篇文章主要介紹了使用PBFunc在Powerbuilder中支付寶當(dāng)面付款功能的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
JS實(shí)現(xiàn)的表格行鼠標(biāo)點(diǎn)擊高亮效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)的表格行鼠標(biāo)點(diǎn)擊高亮效果代碼,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁(yè)面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
layui 對(duì)彈窗 form表單賦值的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layui 對(duì)彈窗 form表單賦值的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
不同編碼的頁(yè)面表單數(shù)據(jù)亂碼問(wèn)題解決方法
這篇文章主要介紹了不同編碼的頁(yè)面表單數(shù)據(jù)亂碼問(wèn)題解決方法,本文使用一個(gè)表單不常用屬性accept-charset解決了這個(gè)問(wèn)題,需要的朋友可以參考下2015-02-02
JavaScript中最常用的10種代碼簡(jiǎn)寫(xiě)技巧總結(jié)
這篇文章主要總結(jié)了JavaScript中最常用的10種代碼簡(jiǎn)寫(xiě)技巧的相關(guān)資料,其中包括三元操作符、短路求值簡(jiǎn)寫(xiě)方式、聲明變量簡(jiǎn)寫(xiě)方法、if存在條件簡(jiǎn)寫(xiě)方法及JavaScript循環(huán)簡(jiǎn)寫(xiě)方法等等,分別給出了詳細(xì)的示例代碼供大家參考,需要的朋友們下面來(lái)一起看看吧。2017-06-06

