[英]add values into textbox while loop is running asynchronously 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();
}
}
根据您的需要,如果您希望所有数据都在一个文本框中,请执行以下代码。
private void StartButton_Click(object sender, EventArgs e)
{
for(int i=1; i<=100; i++)
{
textBox2.Text += i.ToString()+" ";
}
}
ASP.NET的问题在于,每次更新textBox2.Text
属性时,不会刷新您的进程。 相反,它只会显示最后执行的操作,因为HTML只会在最后显示并发送。
您可以采用一些解决方法来解决此问题,但是它们使用AJAX和异步调用。
我遇到了类似的情况,我所做的是通过AJAX调用启动了该过程。 然后,当我需要更新状态时,我将更改Session对象中的值,并让AJAX调用定期在客户端更新状态。 但是,也许还有更好的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.