0

ページを更新するには、CTRL + REFRESH BUTTON (または単に REFRESH BUTTON) を押す必要がある場合があります。これは AJAX Update Panel などの使用に問題があるのではないかと思いましたが、AJAX 部分レンダリングがないページでも発生します。if(!isPostBack) も削除しましたが、コンテンツを更新するにはページを更新する必要があります。

キャッシュと関係ありますか?

誰かがこれの修正を知っていますか? IE 7(私が使用している)でのみ発生すると思います。Chrome で同じ機能を試したところ、想定どおりに機能しました。

編集: 残念ながら、ヘッダーを 0 にキャッシュするように設定したり、IE で常にページの読み込み時に最新のページを取得したりするのは簡単ではありません。これらを実行しましたが、同じ問題が発生します。

たとえば、私のサイトの一部で、プロフィール写真を変更できます。プロフィール写真を削除することを選択した場合 (デフォルトの写真に設定する必要があります)、写真のみが削除されます (ただし、デフォルトの写真は表示されません)。ページは再び読み込まれますが、削除した画像がまだ参照されています (そのため、画像に X が表示されます)。デフォルトの写真を表示するには、別のページに移動してからプロファイル ページに戻る必要があります。CTRL + REFRESH も機能します。

この特定の問題は、すべてのブラウザー (Chrome を含む) で発生することに注意してください。

それが役立つ場合は、マスター ページにあるコンテンツ ページを使用しています。

4

3 に答える 3

1

ブラウザのキャッシュ設定を変更すると問題はローカルで修正されますが、一般的なケースで修正するには、ヘッダー「Expires: 0」をアウトバウンド ページに追加します。これにより、ブラウザがキャッシュをまったくキャッシュできなくなります。

C# でこれを行うには、次のコードをページ読み込みイベントに追加します。

Response.AddHeader("Expires", "0");
于 2010-04-01T23:12:58.330 に答える
0

Ctrl+refresh を使用すると、ローカルにキャッシュされたバージョンを使用する代わりに、IE がサーバーからページをリロードするように強制されます。まず、ブラウザの設定を確認してください: [設定] - [一般] - [閲覧の履歴]。「保存されたページの新しいバージョンを確認する」は「自動的に」に設定する必要があります。次に、「期限切れ」ヘッダーをページに追加しているかどうかを確認します。

于 2010-04-01T23:05:31.433 に答える
0

また、応答オブジェクトにキャッシュ ポリシーを設定するか、エンティティ タグを毎回異なるものに設定することを検討することもできます...

http://msdn.microsoft.com/en-us/library/system.web.httpcachepolicy.aspx

于 2010-04-01T23:12:23.527 に答える