WebViewer и экспорт

Обсуждение Stimulsoft Reports.NET
mimas
Сообщения: 31
Зарегистрирован: 21 мар 2008, 07:43
Откуда: Samara

WebViewer и экспорт

Сообщение mimas »

У меня есть страничка которая в зависимости от полученного параметра генерит разные отчеты
типа rpt.aspx?type=N
на страничке веб вьювер. если параметра не указывается никакого - генерится отчет по умолчанию с номером 1.

итак я выбираю отчет номер три. он отображается во вьювере. пэйджинг работает. когда выбираю экспорт в ворд например - экспортится отчет по умолчанию - первый а вовсе не третий, как надо бы. т.е. при экспорте он получается делает полностью новый запрос теряя при этом параметр.
До прошлой недели сам того не зная пользовался необновленным репортом версии 2005.1.2, т.к. скачивая апдейты dll-ки менял а инсталить в гак их забывал - но самое главное что всё работало замечательно и экспортился именно тот отчет который в настоящий момент открыт во вьювере. на днях полностью перешел на 2 версию. сейчас апдейт от 26 июня. и обнаружилась вот такая бага

mimas
Сообщения: 31
Зарегистрирован: 21 мар 2008, 07:43
Откуда: Samara

WebViewer и экспорт

Сообщение mimas »

Точно. в предыдущей версии Шёл POST запрос и всё работало.
Сейчас как я вижу после нажатия на экспорт происходит вот такая загрузка:
rpt.aspx?sti_export=SaveRichText
и страница загружается заново без параметров?
Ну и как нам дальше жить прикажете? Все отчеты переписывать?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

WebViewer и экспорт

Сообщение Vital »

Здравствуйте,

Проблема известна. Патч исправляющий ее ожидается 21 июля.

Спасибо.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

WebViewer и экспорт

Сообщение Edward »

Здравствуйте,

Не успеваем исправить ситуацию в версии от 21 июля. Необходимо немного времени на тестирование.

Постараемся исправить в следующем патче после 21 июля.

Спасибо.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

WebViewer и экспорт

Сообщение Vital »

Здравствуйте,
mimas писал(а):Точно. в предыдущей версии Шёл POST запрос и всё работало.
Сейчас как я вижу после нажатия на экспорт происходит вот такая загрузка:
rpt.aspx?sti_export=SaveRichText
и страница загружается заново без параметров?
Ну и как нам дальше жить прикажете? Все отчеты переписывать?
Ошибка исправлена в билде от 23 июля.

Спасибо.
mimas
Сообщения: 31
Зарегистрирован: 21 мар 2008, 07:43
Откуда: Samara

WebViewer и экспорт

Сообщение mimas »

толи лыжи не едут толи я..
еще раз:
есть страница. на странице
Далее есть вторая страница, собственно rpt.aspx
Здесь при загрузке страницы :

Код: Выделить всё

            if (!IsPostBack)
            {

                sType = Request["type"];
                if (string.IsNullOrEmpty(sType))
                    sType = string.IsNullOrEmpty(Request.QueryString["type"]) ? "0" : Request.QueryString["type"];
                try
                {
                    type = (ReportType)(Int32.Parse(sType));
                }
                catch
                {
                    type = ReportType.rptPersonnelAlpha;
                }
                ViewState["type"] = type;
            }
            else {
                type = (ReportType)ViewState["type"];
            }
                LoadReport(type);
То есть тип запрашиваемого отчета я получаю в параметре адресной строки и сохраняю во вьюстейт, благодаря чему мои хождения по страницам в отчете продолжают работать, так как после любого нажатия на кнопки во вьювере тип уже не передается естественно.

При нажатии на экспорт теперь шлётся параметр Request.QueryString = {sti_WebViewer_export=SaveRichText} а тот самый первый параметр утерян.

Тот же самый код, но на сервере где установлен билд зимний - первой ветки - работает как надо. уж чо он там передает и как правда посмотреть не имею возможности - сервер без возможности отладки.
Сейчас у меня
Assembly="Stimulsoft.Report.Web, Version=2008.2.263.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a"
проблема имеет место!!!

Если это не лыжи а я, то подскажите как лучше реализовать подобный функционал.. хотя меня и этот вполне устраивал.

Не проверял на других страницах отвечающих за отчеты в нашей системе, но есть у нас варианты где в rpt.aspx передается не один параметр а несколько, даты например - что тогда?
mimas
Сообщения: 31
Зарегистрирован: 21 мар 2008, 07:43
Откуда: Samara

WebViewer и экспорт

Сообщение mimas »

толи лыжи не едут толи я..
еще раз:
есть страница. на странице
Далее есть вторая страница, собственно rpt.aspx
Здесь при загрузке страницы :

Код: Выделить всё

            if (!IsPostBack)
            {

                sType = Request["type"];
                if (string.IsNullOrEmpty(sType))
                    sType = string.IsNullOrEmpty(Request.QueryString["type"]) ? "0" : Request.QueryString["type"];
                try
                {
                    type = (ReportType)(Int32.Parse(sType));
                }
                catch
                {
                    type = ReportType.rptPersonnelAlpha;
                }
                ViewState["type"] = type;
            }
            else {
                type = (ReportType)ViewState["type"];
            }
                LoadReport(type);
То есть тип запрашиваемого отчета я получаю во входном параметре. Вообще это параметр может быть как в POST так и в адресной строке. сохраняю параметр во вьюстейт, благодаря чему мои хождения по страницам в отчете продолжают работать, так как после любого нажатия на кнопки во вьювере мой параметр уже не передается.
Проверил с адресной строкой - действительно пофиксили. спасибо.
А что делать с ПОСТом ?

Тот же самый код, но на сервере где установлен билд зимний - первой ветки - работает как надо. уж чо он там передает и как правда посмотреть не имею возможности - сервер без возможности отладки.
Сейчас у меня
Assembly="Stimulsoft.Report.Web, Version=2008.2.263.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a"
проблема имеет место!!!

Если это не лыжи а я, то подскажите как лучше реализовать подобный функционал.. хотя меня и этот вполне устраивал.

Не проверял на других страницах отвечающих за отчеты в нашей системе, но есть у нас варианты где в rpt.aspx передается не один параметр а несколько, даты например - что тогда?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

WebViewer и экспорт

Сообщение Vital »

Здравствуйте,

уберите условие проверки

Код: Выделить всё

if (!IsPostBack)

Спасибо.

mimas
Сообщения: 31
Зарегистрирован: 21 мар 2008, 07:43
Откуда: Samara

WebViewer и экспорт

Сообщение mimas »

пожалуйста..

Оставил:

Код: Выделить всё

                sType = Request["type"];
                if (string.IsNullOrEmpty(sType))
                    sType = string.IsNullOrEmpty(Request.QueryString["type"]) ? "0" : Request.QueryString["type"];

                try
                {
                    type = (ReportType)(Int32.Parse(sType));
                }
                catch
                {
                    type = ReportType.rptPersonnelAlpha;
                }
только не помогло.
Первый раз type получается из sType = Request["type"]; так как пришло через POST запрос, т.е. не в строке

при всех последующих постбэках (экспорт или страницы листать) type естественно равно null. в данном случае во вьюстейт его не сохраняю (смысла нет)

Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

WebViewer и экспорт

Сообщение Vladimir »

Здравствуйте.

При листании страниц, изменении масштаба, и т.п. POST-запрос теряться не должен, т.к. страница не перезагружается. При экспорте отчёта данные POST-запроса не будут сохранены, т.к. экспорт происходит на новой странице. Раньше экспорт был сделан через POST-запрос, но этот метод приводил к неприятной ошибке: при использовании других контролов на форме (например кнопок), POST-запрос экспорта отчёта выполнялся всё время (т.к. страница не перезагружается). Поэтому сохранение было сделано через параметр адресной строки на новой странице.

А какой RenderMode Вы используете? Попробуйте использовать решим с кэшем (по возможности), проблема с экспортом должна решиться. Либо при экспорте передавайте параметры посредством адресной строки.

Спасибо.
Ответить