使用.ashx的图像

时间:2009-06-18 11:06:57

标签: image asp.net-ajax ashx

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

2 个答案:

答案 0 :(得分:4)

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

或者,您可以更改updatepanel中图像的路径吗?如果你只是在它的末尾添加一个随机参数,浏览器会把它当作一个新的请求(当我们这样做时,我们使用当前的日期/时间作为参数。除非你,否则ASP.NET会忽略该参数明确地引用它)

答案 1 :(得分: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只是翻了个大拇指,问为什么它仍然存在。

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