0
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" >
    <ContentTemplate >
        <asp:Image  runat="server" id="img" style="max-width:100%"></asp:Image>

我在 updatePanel 控件中有这个图像。我像这样在后面的代码中更改它的源代码

img.ImageUrl = "~/BackFile.ashx?ID=";

和 backfile.ashx 代码是这样的:

Image img = Image.FromFile(getsrc());
        MemoryStream memStream = new MemoryStream();
        img.Save(memStream,
          System.Drawing.Imaging.ImageFormat.Jpeg);

        context.Response.ContentType = "image/jpeg";
        memStream.WriteTo(context.Response.OutputStream);

在我的电脑和 oogle chrome 上一切正常但后来我从另一台笔记本电脑上测试了它,并且歌剧和图片停止更改它们的来源。我认为这是因为缓存 .so 如何 Ш 限制它?我只需要图片来刷新=)

UPD:它似乎不适用于 ie 和 opera

4

1 回答 1

1

您必须将标头设置为设置无缓存。

context.Response.AddHeader("Cache-Control", "no-cache");
context.Response.Expires = 0;
context.Response.Cache.SetNoStore();
context.Response.AddHeader("Pragma", "no-cache");

您应该使用以下命令忽略浏览器缓存的数据:

img.ImageUrl = string.Format("~/BackFile.ashx?ID={0}&R={1}", <your ID>, randomNumber);
于 2013-08-12T08:18:33.763 回答