2013-10-02 2 views
0

В ASP.NET AJAX, когда я нажимаю кнопку, дорогой прогресс вызывает вызов, около 100 элементов - это прогресс в цикле, один за другим. Пока прогресс выполняется, как мне отображать процентный текст в тексте Button?Показывать процент прогресса в тексте кнопки во время разговора AJAX

Для примера:

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"; 
    } 
} 
+0

http://www.codeproject.com/Articles/646535/A-More-Efficient-AJAX-Progress-Bar-for-ASP-NET –

ответ

0

Для длительного процесса, запущенного на сервере я обнаружил, что самый простой способ для достижения этой цели является AJAX опроса вашего сервера.

Вам нужно будет иметь какой-то индикатор на сервере, сохраняете ли вы прогресс в базе данных (количество добавленных записей) или в текстовый файл. Вам необходимо, чтобы AJAX опросил сервер в функции времени, пока не завершится длительный процесс. Затем вы можете обновить текст кнопки в обратном вызове успеха вашего метода опроса AJAX.

Будьте осторожны, чтобы дать вашей функции опроса достаточно времени между вызовами, чтобы вы не создали огромную очередь.

Смежные вопросы