Fraz,
Пока я замечаю, что вы говорите: «НЕТ AJax ЗАЯВЛЕНО», я подумал, что я бы добавил это для информационных целей.
Пока вас не волнует индикатор 'ожидания ожидания', показывающий точный прогресс, есть простой способ сделать это с помощью jquery, и мой ответ здесь зависит от этого.
По сути, создайте представление «Ожидание», которое содержит простое сообщение и встроенный в него анимированный GIF. затем просто запустите вашу вставку (или длительное действие) по следующей схеме:
$(document).ready(function() {
$('#btnSave').click(function() {
$.ajax({
type: "POST",
url: '<%=Url.Content("~/Booking/Save") %>',
data: { data: prepareData() }, // your data properties to be saved
beforeSend: beforeQuery(),
success: function(data) {
saveDataResponse(data);
},
error: function(xhr) { alert(xhr.statusText); }
});
});
});
// here we show the 'wait' view prior to processing starting
function beforeQuery() {
var url = '<%= Url.Action("Wait", "Booking") %>';
$("#mainDiv").load(url);
}
// when the long running process has completed (or error'd)
// either populate mainDiv with the details view of the booking
// or show the error appropriately
function saveDataResponse(data) {
if (data.length != 0) {
if (data.indexOf("ERROR:") >= 0) {
$("#mainDiv").html(data).css('backgroundColor','#eeaa00');
}
else {
$("#mainDiv").html(data);
}
}
}
очевидно, было бы немного больше для условий ошибок и т. Д., Но это основной «шаблон».
надеюсь, это поможет