日期:2014-05-17  浏览次数:20547 次

坑爹的IE8
代码描述:
protected void Button_Click(object sender, EventArgs e)
{
  this.Response.Write("GoTo(10)");
  this.Response.Flush();
  ....数据库任务1执行,页面显示跑到10%
  this.Response.Write("GoTo(50)");
  this.Response.Flush();
  ....数据库任务2执行,页面显示跑到50%
  ....datagrid加载数据
  this.Response.Write("GoTo(100)");
  this.Response.Flush();
  ....页面显示慢慢跑到100%
  this.WaitTo100();
}

一 前提:ie7机器访问
  结果:页面进度从0跑到100%后进度条关闭,数据显示出来了。

二 前提:ie8机器访问
  结果:数据显示出来了,页面进度从0跑到100%后进度条关闭。


谁知道原因?

------解决方案--------------------
什么意思?你想用 this.Response.Write("GoTo(100)");实现进度条的功能?怎么看你这么写也做不到呀
建议你看一下这里回答里的描述,可能对Response.Flush()作用有更深入的了解
------解决方案--------------------
楼主 进度条设计思路有问题啊 找个进度条组件可以的
------解决方案--------------------
异步加载吧这样不行。
------解决方案--------------------
另外有些浏览器只有this.Response.Write的内容大于256字节是才会立刻回发,否则就是把接下来的数据也放到一起,知道超过了256字节才会回发数据