2009-06-18 38 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只是重组后它的大拇指,并询问为什么它仍然存在。

更改上面的路径将在所有浏览器中修复它。