Отмена запросов на ссылку нажал asp.net
У меня есть домашняя страница на веб-сайте (ASP.NET 4.0 C#), которая загружает много данных каждый раз, когда к ним обращаются (в основном панель инструментов). Загрузка может (в зависимости от пользователя) занять некоторое время, поэтому я разбил каждый раздел на панели обновления и загружал их отдельно, чтобы пользователь мог видеть, как он загружается, а не просто думать, что страница зависла. Однако это создает новые проблемы, потому что, если пользователь не хочет ждать и нажимает на навигационное меню (или ссылку) на другую страницу, ему приходится ждать, пока страница полностью загрузится, прежде чем он перейдет.
Есть ли способ остановить запросы страниц, загружающие данные, если нажата другая ссылка, и просто обработать эту ссылку?
Дополнительная информация - я использую главную страницу, где находится меню навигации, а также панели обновления ajax на главной странице.
1 ответ
function cancelPostBack() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm.get_isInAsyncPostBack()) {
prm.abortPostBack();
}
}
Прикрепите эту функцию к событию onclick элемента навигации, чтобы гарантировать, что все отложенные запросы будут отменены до продолжения навигации.