- PR -

QueryStrinについて

1
投稿者投稿内容
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2007-02-14 16:53
いつも拝見させていただいています。

ASP.netでWEBアプリケーションを開発しているのですが、URLに付加するクエリ文字列で質問があります。

----------------------
A → B → A → B
--@---A---B--
----------------------

のように画面遷移する場合、
Aで
Server.Transfer("A.aspx?PARAM=1")
のようにクエリ文字列を付加します。
Bで
Server.Transfer("B.aspx")
のようにクエリ文字列は付加しません。

この場合に最後の「B」の画面で
Request.QueryString("PARAM")
で値が取れてしまいます。

最後の「B」の画面にてクエリ文字列が残らないようにするには
どのようにすればよろしいのでしょうか?

ご教授お願いいたします。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2007-02-14 17:02
Response.Redirect は使えないのですか?
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2007-02-14 17:05
返信ありがとうございます。

Response.Redirectは使用できます。

やはりResponse.Redirectしかないのでしょうか?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-02-14 17:12
逆にTransferを使う理由はなんでしょう?
Transferを使用した場合、ブラウザはAにリクエストを投げますがBには投げていない(サーバー側で勝手にBに転送しているだけ)なので、URLは当然、Aのままになります。
もちろん、ブラウザがサーバー側でどのようなTransferが実行されたかを知る術はありません。
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2007-02-14 17:17
勉強不足で申し訳ありません。

Transferを使っている理由はレスポンスを少しでも早くと思っていたのですが・・・

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-02-15 02:13
引用:
この場合に最後の「B」の画面で
Request.QueryString("PARAM")
で値が取れてしまいます。

取れなければいいという話であれば
Server.Transfer("B.aspx",false)
とすれば取れません。意味はMSDNを見てください。
1

スキルアップ/キャリアアップ(JOB@IT)