RT:环境 vs2003开发一个类似chinaren的滚动新闻图片(1、2、3那种自动播放)的组件,图片为数据库中image类型字段,图片地址指向一个aspx页面,在里面按照1、2、3对应的ID读取图片数据,然后采用Response.BinaryWrite输出问题:奇怪的是,在循环播放的时候,图片不自动跳转,跟了程序,每次数据读取都正常,可就是图片不换郁闷。并且我的aspx页面地址加了随机字符串,保证JS切换时,一定读取该页面,跟了程序,的确如此。并且图片类型全是jpg的,声明JS程序应该没错,我换成外网静态图片地址时,没有任何问题。贴出来程序,大家帮看看。谢了aspx:private void Page_Load(object sender, System.EventArgs e)
{
    _ID = Request["ID"]+"";
    if(!this.IsPostBack)
    {
     
string sql=DbSQL.SetPicSql("",_ID);

OleDbDataReader myReader = (OleDbDataReader)DbHelper.ExecuteReader(CommandType.Text,sql);

if(myReader.Read())
{
            Response.Buffer = true;
            Response.ExpiresAbsolute = System.DateTime.Now.AddMilliseconds(0);
           Response.Expires = 0;
            Response.CacheControl = "no-cache";
            Response.AppendHeader("Pragma", "No-Cache");

    Response.ClearContent();
            
            Response.ContentType =myReader[4].ToString();  -图片类型
            Response.BinaryWrite((byte[])myReader[6]);     -图片数据     myReader.Close();
        }
else
{
    Response.ContentType ="image/gif";
    Response.WriteFile("../images/null.gif");

}
     }

解决方案 »

  1.   

    图片引用ASPX文件时候,后面加上随机数。例如:img.aspx?tmp=200811214712234243
      

  2.   

    或者你看看帖子地址:http://topic.csdn.net/u/20081106/21/42d4251d-7f88-440f-82e8-aa38a8a951cb.html?seed=2076942261后面的随机数。
      

  3.   

    呵呵,谢谢楼上的,这么晚还有人。
    问题找到了,是获取记录的Sql出错了。就这句:string sql=DbSQL.SetPicSql("",_ID); 以前是别人写的,就没看,原来里面生成的SQL程序一直获取最新的那条,郁闷,找了一晚上,浪费了这么久的时间。