1

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

我的问题是:当第一个用户被加载时,正确的图像被拉出,但随后的用户没有拉出新的图像。第一个用户的图像仍然存在。所以看起来好像 imageUrl 是在第一个用户被加载并且不再被触摸时设置的。每次拉出新用户时,如何让图像更新?

4

3 回答 3

2

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

于 2009-06-11T16:09:23.097 回答
0

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

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

于 2009-06-11T16:17:07.430 回答
0

它帮助了我很多。我遇到了同样的问题。我正在显示来自会话 U 的 mermorystream 的图像,刚刚清除了缓存并且它工作了。

于 2009-09-18T14:37:09.657 回答