У меня есть <asp:button />
, который генерирует отчет в формате PDF.Я хочу использовать jQuery BlockUI для отображения сообщения: «Генерация отчета ..
Использование: Response.BinaryWrite
Затем я отправляю файл пользователю, чтобы он отображался как загрузка файла в браузере.
Я не могу заставить $.unblockUI();
стрелять.Как только загрузка файла начнется или будет завершена или отменена, я хочу, чтобы он исчез.В настоящее время это никогда не происходит .. Как будто страница не была перезагружена, я попал на сервер, но он возвращается с той же страницей.
То, что я пробовал:
- Установка переменной в JS на true, так что
document.ready()
будет вызывать функцию, если установлено значение true.Это не работает, потому что хотя я изменяю переменную в коде, она не меняет HTML-код, отправляемый клиенту. - Такого рода вещи:
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function() { $.unblockUI; }); //register with Microsoft way
$(document).ajaxStop($.unblockUI); //double the insurance and register with jquery way
никогда не вызывается ..
Можно ли этого достичь с помощью панели обновления?
Есть мысли?
Также, если это поможет:
Response.AddHeader("Content-Disposition", "attachment;filename=""" & ShortFilename & """")
Response.AddHeader("Content-Length", byteArray.Length)
Response.BinaryWrite(byteArray)
Response.Flush()
Response.End()
Я понимаю, почему это не так.это не работает, страница не обновляется, в любом случае есть только поток ответа, отправляемый в браузер, но наверняка есть событие, к которому я могу привязаться?