调用 AJAX 时在按钮文本上显示进度百分比

本文关键字:显示 百分比 文本 AJAX 按钮 调用 | 更新日期: 2023-09-27 18:33:33

在 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";
     }
}

调用 AJAX 时在按钮文本上显示进度百分比

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

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

请注意,在两次调用之间为您的轮询函数提供足够的时间,以免创建庞大的队列。