プロが教えるわが家の防犯対策術!

こんばんは。ASP初心者です。
ASPでWEBページの作成を行っています。画面遷移をResponse.Redirect()で行っているのですが、遷移前のページと遷移後のページでパラメタを受け渡したい場合はSession("hoge") = "hogehoge"のようにセッションに入れる以外、何か方法はないでしょうか。リクエスト間でパラメタ渡せればがいいので、セッションを通じて保持しておく必要がないのです。クエリを使用するとアドレス欄に変数の値が見えてしまうのでできれば使いたくありません。

A 回答 (3件)

1. Cookieを使う


2. 画面遷移を postで行い、hidden項目に値をセットする (要JavaScript)

私は面倒なのでセッション変数使ってますが、必要なくなればセッションをクリアすれば良いだけだと思います。

Session.Contents("hoge") = Empty
    • good
    • 1

Server.Transferとか



参考URL:http://www.microsoft.com/japan/msdn/library/ja/j …
    • good
    • 0

最良の方法かは分からないですが、



情報量が少なければ

[1].Response.Redirectで指定するURLに、パラメータを付加
  遷移前 Response.Redirect "aaa.asp?hoge=hogehoge
  遷移後 Request.QueryString("hoge") で取得

[2].クッキーを使用
遷移前 Response.Cookies("hoge") = "hogehoge"
遷移後 Request.Cookies("hoge") で取得

といった方法があります。

情報量が多い時は、

[3].遷移前のASPでサブミット用のフォームを出力し、ドキュメントのonloadイベントでサブミット

なんてことを自分ではよくやりました。

<body onload="document.forms[0].submit();">
<form method="post" target="aaa.asp">
<input type="hidden" name="hoge" value="hogehoge">
</form>


ちなみに、
[1]はパラメータの量に制限あり
[2]はパラメータの量に制限あり+クッキーの使用を禁止してると使用不可
[3]はスクリプトの使用を禁止していると使用不可
です。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A