程式沒有改動過運作一直正常,突然有一天同事告知出現錯誤了。經過檢查發現傳遞的數據中出現了#等特殊字符,瀏覽器只取到#號前面的數據,後面的被截斷。然後先想到先把資料用 Server.UrlEncode方法編碼一下,雖然可以看到特殊字元已經被編碼,可是正確的資料依然沒有傳遞過去,錯誤依舊。
"JavaScript:window.showMovdiaf? 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就沒有問題,很奇怪,哪位大濕能給指點一下