2009-04-17 5 views
2

asp.netで不満を感じています。ASP.NET最初のロード時にクエリ文字列が削除される

  1. オープン新鮮なブラウザ(クリア歴史、一時ファイルなど)
  2. ロードwww.mysite.com/page.aspx?anystring=1234
  3. www.mysiteとしてロードしますページ。 com/page.aspx。クエーストリングは消えてしまいます。何かがリダイレクトされ、削除されました。

しかし:

  1. オープン新鮮なブラウザ(クリア歴史、一時ファイルなど)
  2. がwww.mysite.com上の任意のページをロードします。
  3. ロードwww.mysite.com/page.aspx?anystring=1234
  4. クエリ文字列が保存され、page.aspx?anystring = 1234が正しい値で読み込まれます。

www.mysite.com/page.aspx?anystring=1234がユーザーが開こうとする最初のページである場合、クエリー文字列はリダイレクトのように見えて削除されます。ページ上のコードやコードの背後にあるコードは関係ありません。

アイデア?

+0

「dissapear」でこの質問にタグを付けることは良いことです。まず、タグを共有している他の質問が一切表示されず、2番目に間違って綴られています:-) –

+0

セッション/アプリケーションの起動イベント(Global.asaxのもの)で実行中のコードがあります。 ? –

+0

QueryStringが消えた後にTrace.axdを見ると、手がかりが得られるかもしれません。 – rvarcher

答えて

1

ASP.NetのCookieベースのセッション管理では、クッキーを書き込んでリダイレクトして、クッキーが戻ってくるかどうかを確認します。私はこの前にURLパラメータを食べたことは経験していませんが、これは最初のページビューでリダイレクトを行うことの1つです。

+0

あなたは立ち上がります。私は、masterpage.csの言語設定を記憶するために小さなコードを使用していました。 Response.Cookies.Add(新しいHttpCookie( "Culture"、 "en-US"))); これをコメントアウトすると、クエリーストリングが保存されます。今私は別の方法を使って選択した言語を維持する方法を見つけなければなりません。ありがとうございました:) – Paulj

0

あなたがしようとするためのいくつかのこと:

あなたはこのようなFireFoxのためのIEやFirebugのためのieHttpHeadersなどのユーティリティを使用して、何が起こっているかを確認するためにHTTPトラフィックを見ることができます。この方法では、要求で送信されているパラメータを監視し、ブラウザが予期しない方法でリダイレクトされているかどうかを確認できます。

パラメータの値を表示するだけの同じ仮想ディレクトリの下にテストページを作成し、それが動作するかどうかを確認し、page.aspx内の構成上の問題やコーディングの問題に絞り込むこともできます。

+0

良いアイデア、ありがとう – Paulj

+0

彼は、どのような内容がコードの背後にあるのかは関係ありませんでしたので、新しいページを作成することは既に試みられているように聞こえます。 –

+0

おそらく、彼はpage.aspxでいくつかのコードをコメントアウトしようとしたこともあります。受け入れられた回答に対するOPのコメントに基づいて、新しいページを作成すると結局は良いサニティチェックだったように思えることに注意してください。また、私の最初の提案は、クッキーとのやりとりがどのように期待どおりに機能していないかを示すのにも役立つでしょう。これは本当に役に立たない答えでしたか? –