4
我在使用报表查看器加载RDL文件的Visual Studio 2010(C#)中有一个奇怪的问题。WebForm.ReportViewer无限循环问题
我用下面的代码加载RDL:
//get the data set and then
//.
//.
//pass the report to the viewer
using (FileStream stream = new FileStream(_AccessReportDocument.FileName, FileMode.Open))
{
this.AccessReportViewer.LocalReport.LoadReportDefinition(stream);
}
this.AccessReportViewer.LocalReport.Refresh();
的问题是,一旦上面这段代码到达最后一行时,代码会跳转到该页面的卸载方法,然后回到这一点。 AccessReportViewer.LocalReport.Refresh();即无限循环。有谁之前经历过这个吗?我已经读过,与2010年的报告查看器有问题,但主要与设置参数,我还没有试图做...
调试显示所有数据集等被检索罚款 - 所以这是不是问题。
行,所以我读的文章和管理,通过增加一个检查来解决这个问题,看看(的IsPostBack!)。如果!IsPostBack == true,那么我获取数据并将其绑定到报告。这是有效的,但我不知道为什么它会导致报告无限加载。 – user559142 2012-01-16 10:10:34
这是因为如果您没有检查回传并在页面加载时设置数据源,那么因为报告查看器控件本身会生成异步回发来呈现它自己,然后这会导致你的页面加载并重新设置数据源,重置报告查看器,因此它都会重新开始。 – 2012-01-16 11:04:05