A。)当我使用代码删除时,让我们说Image123.jpg在文件夹Pics中,我上传另一个图像并将该图像重命名为Image123.jpg并将其放入文件夹Pics由于某种原因新图像显示,但它使用我删除的图像的尺寸。在此处使用Repeater显示图像.................
B。)当我只是复制并过去说Image99.jpg到我的Pics文件夹中,所有准备好都包含一个Image99.jpg当然它会改变原来的。所以由于某种原因它必须被缓存,因为当我运行我的页面时它仍然显示第一个图像。在这里使用普通的图像控制................
为什么要做 A 和 B ........我怎么能绕过这个......问题 A < / strong>对我来说更重要,因为我需要在用户点击“更改徽标”按钮时更改图像名称。
答案 0 :(得分:3)
浏览器会缓存图像,因此如果您替换图像,则必须更改请求图像查看新图像的网址。
您可以通过以下方式执行此操作:
更改图片本身的名称。
向您更改的网址添加查询字符串。
如果您向网址添加版本号,例如images/Image123.jpg?version=42
并在更换图像时增加版本号,浏览器将从服务器请求新图像,因为浏览器根据完整的URL缓存文件,而不仅仅是文件名。
答案 1 :(得分:1)
如果它确实是一个缓存问题,您可以执行以下操作。
编程:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
声明的:
<%@ OutputCache Location="None" VaryByParam="None" %>
通过缓存网页,您可以避免在后续请求中重新创建信息,因此请记住,这可能会对页面加载时间产生负面影响,因为缓存将被禁用。