3

設定:

ボタン付きのランディングページがあります。ユーザーがボタンをクリックすると、ポストバックが発生します。ボタンのクリック ハンドラーで、いくつかのセッション変数を設定しました。次に、ユーザーを別のページにリダイレクトします。

問題:

他のページが読み込まれると、SessionID は同一になります (同じセッションがまだ存在します) が、すべてのセッション変数が消失しています。さまざまな解決策をすべて試して(そして多くの解決策があります)問題を広範囲にグーグル検索しましたが、どれもうまくいきませんでした。

私が試してみました:

Response.Redirect("NewPage.aspx", false);

また、Response.Redirect(...) の使用に関連する潜在的な問題を回避するメタ リフレッシュ タグを (動的に) 追加しようとしました。

<meta http-equiv="refresh" content="0;URL=NewPage.aspx" />

どちらの場合も、リダイレクトは成功しますが、セッション変数は存在しなくなります。すべての IIS 設定を徹底的にチェックし、ブラウザとサーバーの間で交換されるデータを分析しましたが、すべて役に立ちませんでした。

さらに、同じプロジェクト (同じ構成の開発マシンを使用) に取り組んでいる 2 人の同僚には、この問題はありません。

質問:

この問題について合理的な説明はありますか、それとも開発用 PC を何らかの形で侮辱したり気分を害したりして、今では私に復讐しているのでしょうか?

4

1 に答える 1

0

非同期ポストバック中に response.redirect() を呼び出すと、この問題が発生するのを見たことを思い出します。UpdatePanel を使用している場合は、それを削除して問題が解決するかどうかを確認してください。それが問題なら、古いバージョンの Ajax ライブラリのバグに関係していると思います。バージョン情報について言及していないので、これは公正な仮定だと思います。

于 2012-05-25T00:55:26.157 に答える