1

我正在使用 .ashx 检索图像,并将图像放置在 ajax 更新面板中,当将新图像添加到表单时它会检索图像,但是当我们更改图像时,它不会更新图像,它甚至不会调用 . ashx 文件,但是当我刷新浏览器时它可以正常工作

4

2 回答 2

3

听起来像一个缓存问题。尝试将此处找到的一些行添加到您的 ashx 文件中,它应该有望强制浏览器重新请求图像。(我知道该链接是针对 ASP 而不是 ASP.NET,但是像 Response.Expires = -1 这样的东西应该可以工作)

或者,您可以更改更新面板中图像的路径吗?如果您只是在其末尾添加一个随机参数,浏览器会将其视为新请求(我们在执行此操作时使用当前日期/时间作为参数。ASP.NET 将忽略该参数,除非您明确引用它)

于 2009-06-18T11:10:14.483 回答
0

做这样的事情:

var sPath = "../../handlers/ProcessSignature.ashx?type=View&UserID=" + userID + "&d=" + (((1 + Math.random()) * 0x10000) | 0).toString(16 ).substring(1);

这会将 4 个字符的字母数字字符串放在查询字符串的末尾。这不是必需的,但它会强制浏览器获取该图像的最新版本,因为 URL 不同。

我尝试了上述方法,一些浏览器忽略了标题。我把所有这些都扔进去了,Chrome/FireFox 3 没有尝试更新。

IE7有时工作

IE6只是摆弄着它的拇指,问它为什么还存在。

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

于 2010-08-18T18:05:04.713 回答