2009-06-18 40 views
1

我正在使用.ashx來檢索圖像,並且將圖像放置在ajax更新面板內,它在將新圖像添加到窗體時檢索圖像,但是當我們更改圖像時,它沒有更新圖像它甚至不稱爲.ashx文件,但當我刷新瀏覽器它正常工作使用.ashx的圖像

回答

4

聽起來像一個緩存問題。嘗試添加here到你的ashx文件中的一些行,它應該有望強制瀏覽器重新請求圖像。 (我知道鏈接是ASP而不是ASP.NET,但Response.Expires = -1等應該可以)

或者,您可以更改updatepanel中映像的路徑嗎?如果你只是在它的最後添加一個隨機參數,瀏覽器會將它視爲一個新的請求(當我們這樣做時,我們使用當前的日期/時間作爲參數。明確地引用它)

+0

我同意!你可以通過添加響應頭來解決這個問題。 – 2009-06-18 11:18:18

0

做這樣的事情:

VAR SPATH = 「../../handlers/ProcessSignature.ashx?type=View &用戶ID =」 +用戶ID + 「& d =」 +( ((1 + Math.random())* 0x10000)| 0).toString(16).substring(1);

這將4個字符的字母數字字符串放在查詢字符串的末尾。這不是必需的,但它會強制瀏覽器獲取該映像的最新版本,因爲URL是不同的。

我試過上面的和一些瀏覽器忽略頭。我扔了所有這些,Chrome/FireFox 3沒有嘗試更新。

IE7工作有時

IE6只是重組後它的大拇指,並詢問爲什麼它仍然存在。

更改上面的路徑將在所有瀏覽器中修復它。