AJAX HTTPHandler不更新图像

时间:2009-06-11 15:58:50

标签: ajax httphandler

我有一个应用程序可以提取给定用户ID的图像。我将图像标记嵌套在AJAX TabContainer控件的更新面板中。我将ImageUrl设置为“〜/ ImageHandler.ashx”,ImageHandler.ashx从会话变量userID中获取用户的ID。

我的问题是:当第一个用户加载时,会拉出正确的图像,但后续用户不会提取新图像。来自第一个用户的图像仍然存在。因此,似乎在第一个用户加载且未再次触摸时设置了imageUrl。每次拉新用户时如何更新图像?

3 个答案:

答案 0 :(得分:2)

听起来您的浏览器正在缓存。也许尝试将ImageUrl设置为'〜/ ImageHandler.ashx?user =<%= userId%>'或类似的东西。我假设您的ImageHander.ashx将忽略该参数,但浏览器将识别该URL不同,因此将尝试再次为每个新用户获取它。

答案 1 :(得分:0)

使用FireBug检查新图像是否被请求。如果没有,则确保不缓存ImageHandler.ashx返回的图像。您可以通过查看FireBug中的标头参数来执行此操作。您希望响应立即过期,或者确保将其设置为无缓存。

不同的编程范例有不同的设置标题的方法。此外,通过检查FireBug中的网络流量,您将了解问题的原因。已经建议使用简单的解决方案来使用查询参数来使每个调用唯一。

答案 2 :(得分:0)

这对我很有帮助。 我遇到了同样的问题。 我正在从会话中显示来自mermorystream的图像 你刚清除缓存&它奏效了。