ASP.NET(VB)で開発をしております。
親画面のjavascriptのwindow.openで子画面を開く際に、
パラメータ「?xxx=123+456」を渡しています。
子画面側のサーバ処理のRequest.Params("xxx")で
パラメタを取得すると「+」が消えてしまい、
「123 456」となってしまっています。
子画面のURLにはちゃんと「?xxx=123+456」と表示されているので、
Request.Params("xxx")で取得する際に、
「+」がスペースに変換されてしまっているのだと思うのですが、
ネットで調べても同様の事象は見つけられませんでした。
これはASPのRequestクラスの仕様なのでしょうか?
また対応策などご存知お方、ご教授いただけますでしょうか。
よろしくお願いします。
以下コードです。
【親画面】
window.open("./child.aspx?xxx=123+456","test","");
【子画面 (child.aspx)】
Dim xxx As String = Request.Params("xxx")
'↑xxx = "123 456"となってしまいます。
No.2ベストアンサー
- 回答日時:
> パラメタを取得すると「+」が消えてしまい、
> 「123 456」となってしまっています。
URLエンコードされていないからです。
渡すときに.NET側で"123+456"にHttpUtility.UrlEncode メソッドを噛ませて渡し、
取得するときににHttpUtility.UrlDecodeメソッドを噛ませて取得してください。
こんな感じです。
'URLを渡すとき
Dim sQueryString As String = "?xxx=" & HttpUtility.UrlEncode("123+456")
'URLから取得するとき
Dim sXXX As String = HttpUtility.UrlDecode(Me.Request.QueryString("xxx"))
No.1
- 回答日時:
未経験です。
http://www.studyinghttp.net/uri
多分それはASPの仕様じゃなくてURIの仕様。
検証はしていませんが
window.open("./child.aspx?xxx=123+456","test","");
window.open("./child.aspx?xxx=123%25456","test","");
だとどうなりますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- その他(パソコン・周辺機器) チャレンジタッチ3 改造 アプリインストールできない 1 2022/07/01 14:43
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- UNIX・Linux bash のファイルの読み込み方についてご質問 3 2023/05/15 20:40
- その他(IT・Webサービス) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 1 2022/05/07 15:12
- 確定申告 確定申告しなかった場合の期末商品棚卸高の扱い 2 2022/06/11 21:24
- Excel(エクセル) excelvbaのwithについて 4 2022/12/19 16:51
- ネットワーク コマンドプロンプトで、コマンドの飛ばし方を教えてください。 ネットワークにデータを飛ばす(copy) 4 2022/10/19 11:21
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Excel(エクセル) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 2 2022/05/07 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブラウザ Chromeを使っていて、...
-
ポップアップウインドウの高さ...
-
WEBアプリを作成しています。
-
[Java] Edgeでのアドレスバー非...
-
window.openで子画面を開いた後...
-
window.closedについて
-
「処理中」表示
-
画面を閉じる(×ボタンやタスク...
-
window.open("about:blank")
-
マイページはどこを開くの
-
デジタル時計の時刻合わせの方...
-
デスクトップ画面を4分割するには
-
ウインドウを毎回同じ位置、大...
-
Excelでワードアートや図を常に...
-
エクセルのシート上に別のシー...
-
ポップアップウィンドウがブロ...
-
Javascript_submit()完了後に処...
-
5ちゃんねる
-
エクセルVBAでフォームのListbo...
-
【Android】ユーザー補助機能ボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[Java] Edgeでのアドレスバー非...
-
同じページをブラウザで複数開...
-
ブラウザ Chromeを使っていて、...
-
画面を閉じる(×ボタンやタスク...
-
window.open("about:blank")
-
子画面を自動で閉じた後、親画...
-
呼び出されたページを閉じ、呼...
-
リンククリックでウインドウの...
-
親ウインドのASPをリロードさせ...
-
閉じた後のwindow.closed検知
-
window.openで子画面を開いた後...
-
opener.focus();が利かない
-
window.openでフルスクリーン表示
-
onclickでのページ内移動
-
サブウィンドウを常に最前面に...
-
リロードさせないワザ
-
子画面へデータを渡したい!
-
alertの最前面表示
-
window.open()で幅指定の際、ウ...
-
window.openで情報を引き継ぎたい
おすすめ情報