2011-10-29 9 views
1

を実行していないのはなぜ私はasp.netのウェブサイトで2ページありますライフサイクルは

  • ページを1オブジェクトが含まれています。
  • Page 2このオブジェクトの1つに関する情報が含まれています。

私には分かりませんが、あなたの中には何人か説明できることを願っています。

ページ1のオブジェクトをクリックするとページ2に表示されますが、ブラウザの戻るボタンを押すと、onpreinit、oninit、evertythingはページ1で呼び出されません。

答えて

0

「back」を押すと、キャッシュされたコピーを返すだけで、サーバーにGETリクエストが再送信されません。

1

ブラウザの「戻る」ボタンをクリックすると、リクエストは通常​​再送信されません。これは実際には前のページのキャッシュされたバージョンです。

あなたはページをキャッシュしないようにブラウザに指示するHTMLにタグを追加することができます

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 

これらのタグは、HTMLの仕様に応じて一緒に使用する必要があります。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32

要求メッセージにno-cacheディレクティブが存在する場合、 アプリケーションはオリジンサーバに要求を転送すべきである( ) tは要求されているもののキャッシュされたコピーを持っています。このプラグマ ディレクティブは、ノーキャッシュキャッシュディレクティブ( セクション14.9を参照)と同じセマンティクスを持ち、 HTTP/1.0との下位互換性のためにここで定義されています。クライアントは、no-cache 要求がHTTP/1.1に準拠していないと知られていないサーバに送信されたときに、両方のヘッダフィールドを含めるべきである(SHOULD)。

MSDNページ・キャッシュ:http://msdn.microsoft.com/en-us/library/w9s3a17d.aspx

MSDN ASP.netキャッシング:http://msdn.microsoft.com/en-us/library/xsbfdd8c.aspx

ASP.netは、以下見て独自のキャッシュコントロールのしています