- PR -

Request.QueryStringで取得したクエリーをアドレスから消す方法

1
投稿者投稿内容
タクマン
常連さん
会議室デビュー日: 2004/06/14
投稿数: 42
投稿日時: 2005-10-27 18:57
今現在、Response.Redirectで送られてきたクエリーをRequest.QueryStringを使用して取得し、取得したクエリーのキーと値を消すことができないかで時間を取られています。

Response.Redirectを使用して遷移する画面は1つしかなく、その後の画面はすべてServer.Transferで遷移させるため、どうしてもずっとURLの中にクエリーが残ってしまっている状態です。

どうにかURLからクエリーを消すことはできないのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-27 19:31
引用:

タクマンさんの書き込み (2005-10-27 18:57) より:

どうにかURLからクエリーを消すことはできないのでしょうか?


読み違えてるかもしれませんが、HTTPHandler で偽装はできても、
クエリ文字列を消すことはできないんじゃないでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
タクマン
常連さん
会議室デビュー日: 2004/06/14
投稿数: 42
投稿日時: 2005-10-27 19:36
>じゃんぬねっと
毎度ありがとうございます。

結構調べたのですが、クエリーを消す文献は見当たりませんでした。
Server.Transferの第2引数をfalseにすれば良いと思ったのですが、バグらしく無駄にクエリーの情報も引き継いでしまうみたいです。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-10-27 19:41
タクマンさん、こんばんは。

バカバカしいけど、どうしてもというならこんな手↓も。

コード:

Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
    If (Not IsPostBack) AndAlso (Not Request.QueryString.Count.Equals(0)) Then
        Session.Add("hogehoge", Request.QueryString("hogehoge"))
        Session.Add("fugafuga", Request.QueryString("fugafuga"))
        Response.Redirect("WebForm1.aspx")
        Exit Sub
    End If
End Sub

タクマン
常連さん
会議室デビュー日: 2004/06/14
投稿数: 42
投稿日時: 2005-10-27 19:47
>きくちゃん
ありがとうございます。

その方法しかないですね。とりあえずその方法で回避させようと思います。
1

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