2008-11-30 110 views
0

我有一个ASPX页面,我正在上传图片到服务器上的服务器端按钮单击事件。在我的页面中,它会显示可用图像(如果存在)。当我上传图片时,它会用新图片替换旧图片。现在上传后也显示相同的图像。如何解决这个问题?我使用window.location.reload()javascript函数来刷新,但它不起作用。它将再次发布该页面。ASP.NET上传图片后刷新页面

这是我的代码

Do UploadImage(studentId,mode); // Function to upload image 
    StringBuilder sbc = new StringBuilder(); 

    sbc.Append("<script language='javascript'>"); 
    sbc.Append("alert('Upload process completed successfully!');"); 
    sbc.Append("window.location.reload()"); 
    sbc.Append("</script>"); 
    HttpContext.Current.Response.Write(sbc); 

回答

2

它在浏览器中被缓存重新加载。为了克服这一点 - 改变图像的网址。这可以通过在图像文件名中包含时间戳,版本号或guid来完成。

2

您的浏览器可能是缓存的图像。禁用图像上的缓存或设置适当的缓存响应。

0

您可以从服务器端

Response.Redirect(Request.URL) 
+0

我得到HTTP标头已发送后无法重定向消息 – Shyju 2008-11-30 07:13:35

0

一个有用的工具来调试这是fiddler。正如其他人已经表明,浏览器可能会缓存旧版本的图像。如果您使用IIS,则可以更改缓存策略,以便浏览器始终检查图像的较新版本。