Это происходит потому, что вы пытаетесь выполнить Response.BinaryWrite
.
. Вы получаете эту ошибку, потому что вы пытаетесь вернуть не HTML в UpdatePanel
, используя асинхронный обратный вызов, который не разрешен.Единственное, что я могу предложить, это попробовать использовать PostBackTrigger
и нацелить элемент управления за пределы вашего UpdatePanel
.
. Лучшим решением было бы заставить вас загрузить кнопку вызова другого окна, которое вызывает .ashx
(универсальный обработчик) и сервер до двоичного файла через Ashx.Вы можете просто прикрепить функцию javascript для обработки щелчка, который откроет новое окно в ashx с указанием всех необходимых параметров.
Эта ссылка содержит больше информации о точной проблеме испособы ее решения.
Существует несколько способов решения этой проблемы, каждое из которых имеет определенные области действия.
1.Регистрация ButtonDownload элемента управления PostBackTrigger в дочернем теге Triggers панели обновления, как показано ниже.
2.Вы также можете использовать метод RegisterPostBackControl элемента управления ScriptManager в Page_Load, как показано ниже.