У меня есть <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()
Я понимаю, почему это не работает, страница в любом случае не обновляется, в браузер отправляется только поток ответов, но, конечно же, есть событие, за которое я могу зацепиться?