2010-05-17 3 views
1

Возможно, я задал очень простой вопрос, и я сожалею об этом.multi crystal report 9.0 in asp.net 3.5

У меня есть веб-приложение, которое является своего рода отчетным порталом. У меня есть страница ReportViewer.aspx, на которой есть элемент управления crystalreportviewer, и я использую один и тот же просмотрщик для отображения разных отчетов. Отчеты сделаны кем-то другим, поэтому у меня просто есть .rpt-файл, который я включил в свой проект.

Я даю источник данных отчета динамически, так что это не обязательный не статические данные. (Передача параметров динамически, а)

отчеты, как правило, имеют более одной страницы.

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

Если я сохраняю объект reportdocument в сеансе и проверяю IsPostback и просто получаю его из сеанса, он отлично работает.

Вопрос в том, правильно ли это делается. coz, если я открою новую вкладку и увижу тот же отчет, я потеряю свой первый отчет ... (я мог бы избежать этого, выполняя какое-то чудовищное управление сеансом, например, передавая указатель в querystring, а затем получая правильный объект отчета), но все еще это правильный путь?

любые примеры того, как это сделано было бы действительно здорово ...

Cheers,

Оз

ответ

1

Ну, вы держите ReportDocument в сессии, и привязать его к CrystalViewer если PostBack.

Важным моментом является то, что все это делается в Page_Init вместо Page_Load, иначе многостраничные отчеты о кристаллах будут застряли на странице 2, когда вы нажмете следующую кнопку ...