Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 Crystal Report在页面更改时多次运行查询_C# 4.0_Session_Crystal Reports_Page Init - Fatal编程技术网

C# 4.0 Crystal Report在页面更改时多次运行查询

C# 4.0 Crystal Report在页面更改时多次运行查询,c#-4.0,session,crystal-reports,page-init,C# 4.0,Session,Crystal Reports,Page Init,我已经在页面_init()中为crystal report编写了代码,它运行得很好,但我刚刚注意到,当我切换报表页面索引时,意味着当我要加载报表的第二页时,控件再次转到页面加载,整个报表查询再次运行 我已经做了一个转换,从查询字符串中我取了要加载的报告的名称, 是否有一种方法可以使报告加载时间最小化 这是一个更好的主意吗 如果我在(!Ispostaback)中编写代码,则只加载第一页,当我尝试切换第二页时,显示没有可用资源错误 protected void Page_Init(object s

我已经在页面_init()中为crystal report编写了代码,它运行得很好,但我刚刚注意到,当我切换报表页面索引时,意味着当我要加载报表的第二页时,控件再次转到页面加载,整个报表查询再次运行

我已经做了一个转换,从查询字符串中我取了要加载的报告的名称, 是否有一种方法可以使报告加载时间最小化

这是一个更好的主意吗

如果我在(!Ispostaback)中编写代码,则只加载第一页,当我尝试切换第二页时,显示没有可用资源错误

 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;
}
受保护的无效页\u Init(对象发送方,事件参数e)
{
尝试
{
String test=Request.QueryString[“ReportType”];
ReportDocument report=新的ReportDocument();
开关(测试条件)
{
案例“报告”:
var rpt1=新借贷者公司行动报告();
字符串lcarParam1=Request.QueryString[“Param1”];
字符串lcarParam2=Request.QueryString[“Param2”];
字符串lcarParam3=Request.QueryString[“Param3”];
字符串lcarParam4=Request.QueryString[“Param4”];
字符串lcarParam5=Request.QueryString[“Param5”];
List lst2=new ReportMethod().GetReport(lcarParam1、lcarParam2、lcarParam3、lcarParam4、lcarParam5);
rpt1.SetDataSource(lst2);
CRReportViewer.ReportSource=rpt1;
打破
}

您需要将rpt1添加到会话变量中

您必须在sessonwell中获取报告,实际上这是剩下的唯一方法,我们需要将报告的数据源保持在会话中。