0

在 ASP.NET AJAX 中,当我单击一个按钮时,会调用一个昂贵的进度,大约 100 多个项目是一个循环的进度,一个接一个。在进度运行时,如何在按钮的文本上显示百分比文本?

例如:

protected void btn_ExpensiveProcess_Click(object sender, EventArgs e)
{
     for (int i = 0; i < MyCollection.Count; i++)
     {
          double Percent = i/MyCollection.Count * 100;
          btn_ExpensiveProcess.Text = Percent + "% " + " Has Been Done";
     }
}
4

1 回答 1

0

对于服务器上长时间运行的进程,我发现完成此任务的最简单方法是 AJAX 轮询您的服务器。

无论您将进度存储在数据库(添加的记录数)还是文本文件中,您都需要在服务器上有某种指示器。您将需要 AJAX 在定时函数中轮询服务器,直到长时间运行的过程完成。然后,您可以在 AJAX 轮询方法的成功回调中更新按钮文本。

小心在两次通话之间给你的轮询函数足够的时间,这样你就不会创建一个巨大的队列。

于 2013-10-02T16:25:42.420 回答