Убедитесь, что контент UpdatePanel напечатано после завершения __dopostback в веб -формах asp.netJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Убедитесь, что контент UpdatePanel напечатано после завершения __dopostback в веб -формах asp.net

Сообщение Anonymous »

Я пытаюсь распечатать asp.net updatePanel, когда пользователь нажимает CTRL + P, но, поскольку __dopostback запускает обратную связь, которая обновляет панель, предварительный просмотр печати иногда показывает устаревший контент или загружающий спиннер вместо Обновленный контент. Я попытался использовать sys.webforms.pagerequestmanager.getinstance (). Add_endrequest () для обнаружения, когда обновление завершено, а затем вызов window.print () , но он все еще иногда печатает до того, как страница полностью полностью Обновлено. Добавление settimeout () и requestAnimationFrame () немного помог, но проблема сохраняется, и мне нужен надежный способ, чтобы убедиться, что предварительный просмотр печати всегда показывает последнее содержание обновления.

Код: Выделить всё

document.addEventListener("keydown", function (event) {
if (event.ctrlKey && event.key === "p") {
event.preventDefault();
sessionStorage.setItem("printTriggered", "true");
__doPostBack('', '');
}
});

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
if (sessionStorage.getItem("printTriggered") === "true") {
sessionStorage.removeItem("printTriggered");
var loadingElement = document.getElementById("loadingComponent"); //optional
if (loadingElement) {
loadingElement.style.display = "none";
}
setTimeout(() => {
requestAnimationFrame(() => {
window.print();
});
}, 500);
}
});
Как я могу убедиться, что wind.print () выполняется только после того, как контент UpdatePanel полностью обновлен, включая обработку бэкэнд, поэтому предварительный просмотр печати никогда не показывает устаревший контент? /п>

Подробнее здесь: https://stackoverflow.com/questions/794 ... asp-net-we
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»