在循环异步运行asp.net时,将值添加到文本框中

时间:2014-03-22 04:52:13

标签: c# asp.net

如何在文本框中添加值并在循环运行时显示它们,以便在asp.net C#

中进行长时间的过程

例如

private void StartButton_Click(object sender, EventArgs e)
    {
      for(int i=1; i<=100; i++)
      {
//do some work such as add values into db
//then display values on each iteration
        textBox2.Text = i.ToString();

      }

    }

2 个答案:

答案 0 :(得分:1)

根据您的意见,如果您想要一个文本框中的所有数据,请执行以下代码..

private void StartButton_Click(object sender, EventArgs e)
    {
      for(int i=1; i<=100; i++)
      {
        textBox2.Text += i.ToString()+" ";
      }    
    }

答案 1 :(得分:0)

ASP.NET的问题是每次更新textBox2.Text属性时都不会刷新您的进程。相反,它只会显示最后执行的操作,因为HTML只会在最后呈现并发送。

您可以解决此解决方案的一些变通方法,但它们使用AJAX和异步调用。

我遇到了类似的情况,我所做的是用AJAX调用启动进程。然后,当我需要更新状态时,我会更改Session对象中的值并让AJAX调用定期更新客户端的状态。也许有更好的解决方案。