0

私は一生問題を見つけることができないので、誰かがこれを以前に見たことがあることを願っています。

私はアプリケーションで古い「戻るボタンを修正する」ことをしようとしていますが、私はかなりまともなアプローチをしていると思います。問題は、アプリケーションが戻ったときに page_load を呼び出さず、代わりにキャッシュされたバージョンをロードすることに依存していることですページの。

私のページの約 60% で、まさにそれが起こっています。キャッシュされたバージョンが読み込まれ、すべて問題ありません。残りの 40% では、戻るボタンの page_load 呼び出しを押すと、更新が強制されます。参考までに、page_load の呼び出しはポストバックではありません。

さらに奇妙なことに、これは IE (6 & 7) でのみ発生します。Firefox では、page_load が呼び出されることはありません。

両方のタイプのページで ASP.NET Ajax フレームワークを使用しています。前にこのようなものを見た人はいますか?

- アップデート -

もう少し調査した結果、検索を使用してあるページから別のページに移動すると、ページごとにアプリケーションの動作が異なることがわかりました。壊れたページでは、page_load が 2 回呼び出され、検索が 2 回呼び出され、フィドラーで 2 つの異なるリダイレクト ポストバックに変わり、2 番目にはキャッシュが設定されていません。

作業ページで page_load と検索が一度だけ行われ、すぐにリダイレクトされます。

その 2 番目の Response.Redirect が問題を引き起こしています。なぜそれが起こっているのかはまだわかりません。

4

2 に答える 2

1

サーバーがキャッシュ制御 http ヘッダーに対して何を返しているかを確認し、Response.Cache.SetCacheability() を設定してみてください。ページで出力キャッシュ ページ ディレクティブを使用し、サーバーがページをキャッシュする必要があると言っているかどうかを確認してください。

于 2008-10-15T03:01:53.200 に答える
0

ASP.NET AJAX を使用している場合、履歴サーバー コントロール オブジェクトを使用しないのはなぜですか?

履歴を置き換えると、戻るボタンで目的のリンクに移動します。

これを試して

于 2008-10-14T21:14:58.220 に答える