Response.BinaryWrite () не работает в модальном всплывающем окне - PullRequest
2 голосов
/ 14 марта 2011

Я работаю над приложением SharePoint, где я выводю содержимое PDF в браузер, чтобы пользователь мог сохранить PDF. Но это работает, когда я делаю Response.Redirect(), но не когда я открываю ту же страницу в новом всплывающем окне с помощью SharePoint CommonShowModalDialog ().

Если я перенаправлю на http://test/pdfoutput.aspx, где я написал код BinaryWrite(), он работает нормально.

Но если я открываю страницу с помощью модального диалогового окна SharePoint, я получаю, что страница открывается во всплывающем окне правильно, и код выполняется без каких-либо исключений при отладке. Но я не получаю диалог сохранения.

Same page -> Response.Redirect() - works
          -> CommonShowModalDialog() - Fails

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Изначально я использовал CommonShowModalDialog в SharePoint, чтобы показать всплывающее окно.Это внутренне (в core.js) делает window.open ().Но проблема была в CommonShowModalDialog, и когда я заменил его на простой window.open (), это сработало.

0 голосов
/ 15 марта 2011

Насколько я понимаю, проблема в том, что не всегда появляется диалоговое окно «Сохранить».Если не выполнять Response.Redirect, содержимое открывается в окне браузера.

В этом случае вам потребуется добавить заголовок расположения содержимого и тип mime к заголовкам HTTP в ответе.

Response.AppendHeader("content-disposition", "attachment; filename=\"" + filename + "\"");
Response.ContentType = "application/pdf";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...