ASP.NET: отображать информацию о ходе выполнения при сохранении данных в БД - PullRequest
1 голос
/ 14 мая 2009

У меня есть веб-приложение ASP.NET 2.0. Я хочу показать индикатор прогресса, когда пользователь сохраняет некоторые данные (например, редактирование профиля). Я уже использовал jQuery в своем приложении для некоторых побочных эффектов клиента. Как я могу это сделать ? какой-нибудь JQuery доверенный материал для использования вместе с ASP.NET? Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 14 мая 2009

Хотите показать фактический прогресс или просто индикатор занятости во время действия? Если первое, вам понадобится какой-то механизм для записи процесса сохранения в сеансе и метод для проверки состояния процесса через AJAX. Вы отправляете форму через AJAX, а затем периодически вызываете метод check, чтобы получать отчеты о ходе работы и обновлять любой индикатор на стороне клиента (обычно переключаются с одного на другой из серии стандартных изображений или увеличивают ширину некоторого заполненного «бара»). ). Это, конечно, сложно.

Если вы хотите сделать последнее, просто отобразите анимированный 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'); }
});

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

1 голос
/ 14 мая 2009

Альтернативой показу значимого индикатора прогресса является отображение анимированного GIF-файла во время сохранения данных, например, вращающийся шаблон «ромашка», используемый в Firefox.

Это показывает пользователю, что что-то происходит и обычно хорошо воспринимается.

Индикаторы прогресса, которые показывают% выполнения, часто в любом случае бессмысленны, если только у них нет точного представления, сколько времени займут первые 50% по сравнению с последними 50%. Другие показатели прогресса являются более значимыми, например, те, которые показывают увеличение количества записей и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...