Предоставляет ли ASP.NET MVC какой-либо способ реализации аналога элемента управления UpdateProgress WebForms? - PullRequest
2 голосов
/ 19 июля 2009

Предоставляет ли ASP.NET MVC какой-либо способ реализации аналога элемента управления UpdateProgress WebForms? Может кто-нибудь объяснить мне, как достичь такой функциональности на стороне клиента с MVC?

1 Ответ

2 голосов
/ 19 июля 2009

Использование небольшого количества jQuery и AJAX позволяет довольно легко (или сложно, если вы хотите сделать что-то сложное) сделать это. Этот небольшой фрагмент обновляет DIV из метода, который визуализирует частичное представление в HTML. Сначала он заменяет текущее содержимое сообщением о загрузке, затем обновляет DIV ответом сервера, перезаписывая сообщение о загрузке при возврате данных. Вы можете сделать другие вещи, такие как показ анимированного GIF или получить действительно сложный и настроить интервал таймера, чтобы периодически проверять состояние длительной деятельности и сделать индикатор прогресса. Очевидно, что последний гораздо сложнее.

 $('#myButton').click( function() {
      $('#myDiv').html('Please wait while the data is loaded.');
      $.ajax({
         url: '<%= Url.Action( "action" ) %>',
         data: $('form').serialize(),
         type: 'post',
         dataType: 'html',
         success: function(data,status) {
             $('#myDiv').html( data );
         }
      });
 });
...