初歩的な質問かもしれませんが、すいません。
レポート ポータルのような Web アプリケーションがあります。Crystalreportviewer コントロールを含む ReportViewer.aspx ページがあり、同じビューアーを使用してさまざまなレポートを表示しています。レポートは他の誰かがまとめて作成しているため、プロジェクトに含めた .rpt ファイルしかありません。
レポート データソースを動的に指定しているため、静的データ バインディングはありません (パラメータも動的に渡します)。
通常、レポートには複数のページがあります。
問題は、次のページに移動すると、ポストバックがあり、すべてのデータバインディングが再度行われることです。
reportdocument オブジェクトをセッションに保存し、IsPostback をチェックしてセッションから取り出すと、正常に動作します。
問題は、これが正しい方法であるかどうかです。新しいタブを開いて同じレポートを表示すると、最初のレポートを失うことになります...(クエリ文字列でGUIDを渡してから正しいレポートオブジェクトを取得するなどの奇抜なセッション管理を行うことで、これを回避できます)しかしそれでもこれは正しい方法ですか?
それがどのように行われるかの例は本当に素晴らしいでしょう...
乾杯、
オズ