Мультикристаллический отчет 9.0 в asp.net 3.5
Я мог бы задать очень простой вопрос, и я прошу прощения за это.
У меня есть веб-приложение, которое является своего рода порталом отчетности. У меня есть страница ReportViewer.aspx, на которой есть элемент управления crystalreportviewer, и я использую один и тот же просмотрщик для отображения разных отчетов. Отчеты сделаны кем-то другим, так что у меня просто есть файл.rpt, который я включил в свой проект.
Я даю источник данных отчета динамически, чтобы не было статической привязки данных (также передача параметров динамически)
Отчеты обычно имеют более одной страницы.
Проблема в том, что когда я перехожу на следующую страницу, происходит обратная передача, и она снова выполняет всю привязку данных.
Если я сохраняю объект reportdocument в сеансе, проверяю IsPostback и просто извлекаю его из сеанса, он работает нормально.
Вопрос в том, является ли это правильным способом сделать это. потому что, если я открою новую вкладку и увижу тот же отчет, я в конечном итоге потеряю свой первый отчет... (я мог бы избежать этого, выполнив какое-то дурацкое управление сеансом, например, передав guid в строку запроса и затем получив правильный объект отчета), но все еще это правильный путь?
любые примеры того, как это делается, было бы действительно здорово...
Ура,
унция
1 ответ
Хорошо, вы держите ReportDocument в сеансе и привязываете его к CrystalViewer, если PostBack.
Однако важно сделать все это в Page_Init вместо Page_Load, иначе многостраничные отчеты будут застревать на странице 2, когда вы нажимаете следующую кнопку...