page_init() で Crystal レポートのコードを記述しましたが、正常に動作しますが、レポート ページ インデックスを切り替えると、レポートの 2 ページ目をロードするときに、コントロールが再びページに移動することに気付きました。読み込み、レポート全体のクエリが再度実行されます。
スイッチ ケースを作成し、クエリ文字列からレポートを読み込む名前を取得しました。レポートの読み込み時間を最小限に抑える方法はありますか?
セッションはより良い考えですか?
(!Ispostaback) でコードを記述した場合、最初のページのみが読み込まれ、2 ページ目を切り替えようとすると、利用可能なリソースがありませんというエラーが表示されます。
protected void Page_Init(object sender, EventArgs e)
{
try
{
String test = Request.QueryString["ReportType"];
ReportDocument report = new ReportDocument();
switch (testCondition)
{
case "Report":
var rpt1 = new LenderCompanyActionReport();
String lcarParam1 = Request.QueryString["Param1"];
String lcarParam2 = Request.QueryString["Param2"];
String lcarParam3 = Request.QueryString["Param3"];
String lcarParam4 = Request.QueryString["Param4"];
String lcarParam5 = Request.QueryString["Param5"];
List<Reportclass> lst2 = new ReportMethod().GetReport(lcarParam1, lcarParam2, lcarParam3, lcarParam4, lcarParam5);
rpt1.SetDataSource(lst2);
CRReportViewer.ReportSource = rpt1;
break;
}