ホームページ  >  記事  >  ウェブフロントエンド  >  window.showModalDialogパラメータで特殊文字を処理する方法 transfer_javascriptスキル

window.showModalDialogパラメータで特殊文字を処理する方法 transfer_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 17:32:321275ブラウズ

プログラムは変更されておらず、正常に動作していました。ある日突然、同僚からエラーが発生したと連絡を受けました。検査の結果、送信されたデータに # などの特殊文字が含まれていることが判明しました。ブラウザは # 記号より前のデータのみを取得し、それ以降のデータは切り捨てられていました。次に、Server.UrlEncode メソッドを使用してデータをエンコードすることを最初に考えました。特殊文字がエンコードされたことがわかりますが、依然として正しいデータが渡されず、エラーが残ります。

コードをコピー コードは次のとおりです。

"JavaScript:window.showModalDialog('Info .aspx? bh=" Server.UrlEncode(e.Row.Cells.FromKey("number").Text.Trim()) "',null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no ;resizable: yes;');"

Escape メソッドを使用した後、パラメーターは通常どおりに渡されます:
コードをコピー コードは次のとおりです。

"JavaScript:window.showModalDialog('Info.aspx?bh='scape("" e.Row.Cells.FromKey("number ").Text.Trim( ) ""),null,'dialogWidth:750px;dialogHeight:500px;center:yes;status:no;resizable:yes;');"

しかし、モーダルウィンドウを使用せず、直接 Server.UrlEncode を使用してリンクアドレスを開くと、問題はありません。非常に奇妙です。誰かアドバイスをいただけますか。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。