АСП.НЕТ:Показывать информацию о ходе выполнения при сохранении данных в БД
Вопрос
У меня есть веб-приложение ASP.NET 2.0. Я хочу показывать индикатор прогресса, когда пользователь сохраняет некоторые данные (пример:Редактирование профиля). Я уже использовал jQuery в своем приложении для некоторых побочных эффектов клиента.Как я могу это сделать ?какой-нибудь надежный материал jquery для использования вместе с ASP.NET?заранее спасибо
Решение
Хотите ли вы показывать реальный прогресс или просто индикатор занятости во время действия?В первом случае вам понадобится какой-то механизм для записи прогресса сохранения в сеансе и метод проверки состояния прогресса через AJAX.Вы отправляете форму через AJAX, затем периодически вызываете метод проверки, чтобы получать отчеты о ходе выполнения и обновлять любой индикатор на стороне клиента (обычно переключаетесь с одного на другое из серии стандартных изображений или увеличиваете ширину некоторой заполненной «полосы»). ).Это, конечно, сложно.
Если вы хотите сделать последнее, просто отобразите анимированный GIF-изображение, которое является индикатором занятости, пока вы отправляете форму через AJAX из jQuery с помощью обратного вызова beforeSend, а затем скройте индикатор с помощью полного обработчика метода ajax.
$('form').ajax( {
url: '/updateprofile.aspx',
type: 'POST',
data: function() { return $('form').serialize(); },
beforeSend: function() { $('#indicator').show(); },
complete: function() { $('#indicator').hide(); },
success: function(data,status) { alert('Update complete'); }
});
Приведенный выше код будет в функции, вызываемой из любого обработчика, вызывающего отправку, или привязанного к событию отправки формы, хотя вам также придется предотвратить выполнение действия по умолчанию.
Другие советы
Альтернативой показу значимого индикатора прогресса является отображение анимированного GIF-изображения во время сохранения данных, напримервращающийся узор «ромашка», используемый в Firefox.
Это показывает пользователю, что что-то происходит, и обычно хорошо воспринимается.
Индикаторы прогресса, которые показывают процент завершения, в любом случае часто бессмысленны, если они действительно не имеют представления, сколько времени займут первые «50%» по сравнению с последними «50%».Другие показатели прогресса более значимы, например.те, которые показывают приращение количества записей и т. д.