2009-05-12 5 views
2

ウェブアプリケーションに複数のページが含まれています。 ブラウザで[戻る]をクリックすると、ページロードイベントが実行されます。なぜなら、最後のページをクリックすると前のページが表示されますが、ページロードが実行されず、問題が発生するからです。 助けていただきありがとうございますウェブアプリケーションの戻るボタン

答えて

3

戻るボタンを使用すると、ブラウザにページのキャッシュバージョンが表示されます。サーバーに新しい要求を送信しません。これがあなたのPage_Loadが発砲していない理由です。

キャッシングを制御できるHttpCachePolicy.SetCacheabilityをご覧ください。

+0

私はこの行を追加します。 Response.Cache.SetCacheability(HttpCacheability.NoCache); とバックが正しくページ間で正しく動作しますが、同じページでイベントを発生させてから戻ると、メッセージが「期限切れのWebページ」になります –

+0

「期限切れのWebページ」は、ブラウザがHTTP POSTを実行できないためバック。 –

0

ブラウザにページがキャッシュされていないことを確認する必要があると思われます。

HTTPヘッダは、

Cache-Control: private, max-age=0 

としてそれを達成すべきです。

異なるWebブラウザでこれを異なる方法で実装することもできますが、ユーザーの設定によってHTTPヘッダーディレクティブが上書きされる可能性があります。

(これは憶測ですが、私はこれをテストしていません)

ページロードイベントに依存しないような方法でアプリケーションをコーディングすることは非常に良いだろう。