5

在VS2010 Beta 2中,Web报表查看器不显示报表的内容,无论是使用本地还是远程模式。在VS2010 Beta 2中,Web报表查看器不显示报表的内容

只显示以下“已禁用”吧[image]

我创建的报表服务器中的精品工程的报告。

下面是用于显示报告代码:

 ReportViewer1.ProcessingMode = ProcessingMode.Remote; 
     ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/reportserver"); 
     ReportViewer1.ServerReport.ReportPath = "/MyReports/Report1"; 
     ReportViewer1.ServerReport.Refresh(); 

或者

 ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; 
     ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report1.rdlc"); 
     ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", myDataSet); 
     ReportViewer1.LocalReport.Refresh(); 

而且我已经添加的ScriptManager到网页,并在web.config相应的处理程序条目(在system.web和system.webServer部分)。

相同的代码在VS2008中正常工作。

任何人都遇到同样的问题?

回答

0

我有同样的问题,MattSlay的回答让我意识到刷新方法被调用只有当页面是不是回发,我的工作的Page_Load:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      MainReportViewer.ProcessingMode = ProcessingMode.Remote; 
      string reportName = this.Request.QueryString["ReportName"]; 
      MainReportViewer.ServerReport.ReportPath = "/Pulse Reports/" + reportName; 
      MainReportViewer.ServerReport.ReportServerUrl = new Uri("http://10.1.0.48/ReportServer"); 
      MainReportViewer.ServerReport.Refresh(); 
     } 
    } 
9

此前Beta 2中,VS来到装与报表查看器9.0(与VS 2008相同)。 Beta 2使用Report Viewer 10.0,它以不同的方式处理异步呈现(使用ASP.Net AJAX与呈现iframe中的内容)。报表查看器是无限期显示加载指示符的吗?如果是这样,那么你的页面载入事件中可能有一些代码告诉ReportViewer重新启动报告处理。如果你每回发一次都会这样做,观众会陷入无限循环。只需将IsPostBack的支票添加到您网页的加载事件中即可解决此问题。

欲了解更多信息,请参阅Brian Hartman的Report Viewer博客中的“Reports Never Stop Loading With VS 2010”。

2

只使用

if(!isPostBack) 
{ 
//your code here 
} 

避免的ReportViewer无限加载环路与版本的ReportViewer 10.0.0和 VS2010和使用SSRS2008