我在页面上面有个按钮Button1和Label1都放在了UpdatePanel里面,点击了之后会执行一系列的sql语句,我现在想执行一个sql语句之后就给Label1.Text赋值提示已经完成了某某语句了,再执行一个在赋值下,这样我在前台就能知道已经执行到什么阶段了,应该怎么办呢?我现在这样写:
protected void btnListUrl_Click(object sender, EventArgs e)
{
//这里是执行的sql语句1
Label1.Text="已经完成1";//这里是执行的sql语句2
Label1.Text="已经完成2";//这里是执行的sql语句3
Label1.Text="已经完成3";
}我发现点击按钮以后不会有逐渐显示的效果,而是直接显示"已经完成3",想一点一点的显示我想要的效果,应该怎么弄呢?

解决方案 »

  1.   

    我汗,这样当然不会逐步显示了,你这个过程执行太快的话很难逐步显示效果,最好是在两条SQL语句执行的中间加一个延时
      

  2.   

    一般太快看不出来的,用线程,就可以用sleep(time)很清楚看一发
      

  3.   

    不是线程的问题,是必须执行完整个btnListUrl_Click()之后才会返回值的,是麻烦。
    其他人有什么好的办法吗?
      

  4.   

    这个不是显示快的问题,而是整个函数执行完才显示。如果要你那个效果,估计UpdatePanel帮不了你。需要回传一个,执行完,再回传一个...呵呵,其效率可想而知——除非你的sql语句执行时间很长,否则不要追求这种界面。
      

  5.   

    用ajax发送请求给服务器,每执行完一条sql返回一个变量值,这个变量标志第几条sql,当第一条sql执行成功后发挥客户端一个标志(例如a++;return a,)客户端收到"a"的值后Label.text='sql'+a+"ok";客户端用ajax调用的时候不是一次性调用,而是每执行完一次发送一次请求,这样就应该实现了。
      

  6.   

    要什么例子,不是说了么??用ajax每执行一次就发送到客户端数据,然后再执行,就是一个逻辑问题,你自己好好想想,我没有好的例子,不好意思。