主要是在一个柱状图统计页面,根据不同的条件绘出图像并保存在statistics_fh_Column.jpg中,然后将页面上的Image1的ImageUrl指向该文件,部分代码如下
System.IO.MemoryStream ms = new System.IO.MemoryStream(); Response.ContentType = "image/Gif"; image.Save(Server.MapPath("../statistics/pics_zxt/"+@"statistics_fh_Column.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
Image1.ImageUrl="../statistics/pics_zxt/statistics_fh_Column.jpg";出现的问题是:我第一次选择统计条件绘图显示没问题,但是再更改条件显示的永远是第一次统计的页面,我看了下statistics_fh_Column.jpg图片,该图片已经更新了,但是前台却没有显示,急需指教!!!!

解决方案 »

  1.   

    你的url写这样:
    http://xx.xxxxx.com?t=789 t是一个随机数,禁止他缓存
      

  2.   

    要禁止缓存,
    Response.Buffer = true;
                    Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
                    Response.Expires = 0;
                    Response.CacheControl = "no-cache";
      

  3.   


    那要用Image1.ImageUrl指向图片存储地址的话,应该怎么写呢?
      

  4.   

    我当时写的一个程序,    string url = "~/fivegird/execCommand/";//图片路径本地的
                        //完成绘图工具的实例化
                        srcImg = new Bitmap(Server.MapPath(url + "main.png"));
                        graphics = Graphics.FromImage(srcImg);
                        pen = new Pen(Color.FromArgb(0, 0, 188), 10);
                        rt = new Rectangle(i - 6, j - 4, 10, 10);//区域中的横纵坐标,要减去修正值:(6,4),可能发生变化
                        graphics.DrawEllipse(pen, rt);                    //把图片保存在硬盘上
                        srcImg.Save(Server.MapPath(url + "begin.png"), ImageFormat.Png);                    //完成绘图工具的内存释放
                        graphics.Dispose(); srcImg.Dispose(); pen.Dispose();                    //把真正的图片名称与生成的随即数组合,赋给imagebutton的路径
                        //使其显示的图片得到改变,如果没有随即数则会发生,图片改变后,
                        //imagebutton仍然加载原有图片的缓存,而不能看到图片的改变。
                        this.ib_five.ImageUrl = url + "begin.png" + "?" + guid;
      

  5.   

    也可以加时间戳Image1.ImageUrl = bg.gif?v=121
      

  6.   

    objBitMap.Save(Response.OutputStream, ImageFormat.Gif); 
    即可,无需保存成图片。参见
    http://dotnet.aspx.cc/article/221bc601-1a1b-4e1f-883d-04b043659703/read.aspx
      

  7.   

    我觉得图片缓存应该是自动的,你必须禁用它的缓存。才能时时更新.
    最好就是在url后面加一个参数 
    ?t=235之类
      

  8.   

    首先谢谢您,您的注释我看明白了,但是还要请问一下,您的guid是随机数吧?就直接这么写就行吗?还是需要定义一下?
      

  9.   

    对那个guid是要定义一个变量的。stirng guid = Guid.NewGuid().ToString();就行了