Как открыть отчет в PDF внутри в текущих окнах браузера, а не в новых окнах браузера от служб отчетов? - PullRequest
0 голосов
/ 17 января 2010

Службы отчетов SQL Server 2008 позволяют открывать отчет в формате PDF со следующим доступом по URL:

http://localhost:8080/reportserver?/MyReports/Report1&rs:Command=Render&rs:Format=PDF

, но PDF откроется в новом окне браузера. Как установить правильный параметр и открыть его в текущем окне браузера?

1 Ответ

0 голосов
/ 18 января 2010

Хорошо, круто, у нас есть с чего начать.Было сложно понять, как это сделать (это заняло разумное количество часов), и я не могу дать вам точный код (поскольку он принадлежит людям, для которых я его написал), но я могу датьВы метод для этого.С помощью этого метода вы сможете легко разместить страницу aspx в элементе управления silverlight, хотя вам, возможно, придется подумать о физическом размере вашего обработанного отчета, который может быть немного ограничен при размещении таким образом.

  • на странице aspx создайте HttpWebRequest, URL должен указывать на соответствующую папку отчетов в установке SSRS
  • создать строку запроса, содержащую параметры отчета, преобразовать ее в байт [] с помощью Encoding.UTF8.GetBytes (parameterString)
  • записать этот байтовый массив в RequestStream созданного вами HttpWebRequest
  • выполнить request.GetResponse (), назначить его вывод новому объекту HttpWebResponse (давайте вызовемэто ssrsResponse)
  • получить объект ответа текущей страницы (назовем его currentResponse)
  • установить тип содержимого currentResponse в Application / PDF
  • добавить Content-Disposition заголовок для currentResponse, установить его значение в inline;filename=[insert filename here]
  • прочитать ответ stream from ssrsResponse и запишите его в currentResponse (это всего лишь упражнение по переносу содержимого одного потока в другой)
  • вызов currentResponse.End()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...