Предоставляет ли ASP.NET MVC какой-либо способ реализации аналога элемента управления UpdateProgress WebForms?
Предоставляет ли ASP.NET MVC какой-либо способ реализации аналога элемента управления UpdateProgress WebForms? Может кто-нибудь объяснить мне, как достичь такой функциональности на стороне клиента с MVC?
1 ответ
Небольшое использование 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 );
}
});
});