0

私はc#でasp.netアプリを書いています。私のプログラムでは、スケジュールグリッドの画像には、ユーザーの選択に応じて線が引かれています。ユーザーが日を選択すると、画像が再描画され、その日のスケジュールされた時間「線」が表示されます。これはChromeとFirefoxで正常に機能しますが、Internet Explorer(9)では画像は別の日に変更されず、ユーザーが後で選択した日に関係なく、最初の画像が何であれ表示されるだけです。

このコードをコードビハインドで使用したのは、画像をキャッシュしていると思ったためですが、問題は解決しませんでした。ポインタはありますか?

Response.Cache.SetNoStore();
Response.Cache.SetCacheability(HttpCacheability.NoCache);  

(標準のクリーングリッドイメージがロードされ、描画され、名前が変更されて別のローカルフォルダーに保存されます。次に、その新しいイメージが画面上のイメージコントロールにロードされます。これは、ユーザーが日を変更するたびに発生します。)

4

1 に答える 1

1

画像キャッシュの回避に関するMSのドキュメントを参照できます。

http://msdn.microsoft.com/en-us/library/w9s3a17d(v=vs.71).aspx

そして、これをこのpage_loadメソッドに配置します。

Response.Cache.SetCacheability(HttpCacheability.NoCache)

ただし、実行時にファイルに名前を付けるので、ファイルに毎回異なる名前を付けるだけで(おそらく、タイムラインであるため日付を使用します)、ページ上の他の画像もキャッシュされません。

于 2012-07-06T22:25:20.440 に答える