在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();
}
}
发布于 2014-03-22 04:57:08
根据您的建议,如果您希望所有数据都放在一个文本框中,请按照以下代码进行操作。
private void StartButton_Click(object sender, EventArgs e)
{
for(int i=1; i<=100; i++)
{
textBox2.Text += i.ToString()+" ";
}
}
发布于 2014-03-22 04:56:48
ASP.NET的问题在于,您的流程不会在每次更新textBox2.Text
属性时刷新。相反,它只会显示最后执行的操作,因为HTML只会在最后呈现和发送。
对于此解决方案,您可以采取一些变通方法,但它们使用AJAX和异步调用。
我遇到了类似的情况,我所做的就是使用AJAX调用启动该流程。然后,当我需要更新状态时,我会更改Session对象中的一个值,并让AJAX调用定期更新客户端的状态。然而,也许还有更好的解决方案。
https://stackoverflow.com/questions/22573617
复制相似问题