2009-06-11 72 views
1

我有一個應用程序爲給定的用戶ID拉出圖像。我有一個AJAX TabContainer控件中的更新面板嵌套的圖像標籤。我將ImageUrl設置爲「〜/ ImageHandler.ashx」,ImageHandler.ashx從會話變量userID中抓取用戶的ID。AJAX HTTPHandler沒有更新圖像

我的問題是這樣的:當第一個用戶加載正確的圖像被拉,但後續用戶不拉出新的圖像。來自第一個用戶的圖像仍然存在。所以看起來好像imageUrl在第一個用戶被加載並且不再被觸摸時被設置。如何每次獲得新用戶時更新映像?

+0

它是在同一瀏覽器會話中更改的用戶嗎? – RSolberg 2009-06-11 16:02:04

回答

2

這聽起來像您的瀏覽器正在緩存。也許嘗試將ImageUrl設置爲'〜/ ImageHandler.ashx?user = <%= userId%>'或類似的東西。我假設你的ImageHander.ashx會忽略參數,但瀏覽器會認識到URL是不同的,所以會嘗試爲每個新用戶再次獲取它。

+0

這工作很好。我將ImageUrl設置在代碼後面,並使用您建議的url,並且它現在可以完美運行!非常感謝! – swolff1978 2009-06-11 16:15:01

0

使用FireBug檢查新圖像是否被請求。如果沒有,那麼確保ImageHandler.ashx返回的圖像沒有被緩存。您可以通過查看FireBug中的標題參數來執行此操作。您希望響應立即過期,或者確保將其設置爲無緩存。

不同的編程範例有不同的設置標題的方法。另外,通過檢查FireBug中的網絡流量,您將知道問題的原因。已經建議使用簡單的解決方案來使用查詢參數使每個呼叫都是唯一的。

0

它幫了我很多。 我有同樣的問題。 我正在從會話 顯示來自mermorystream的圖像U剛剛清除緩存&它的工作。