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