ReportViewer 2010未在异步回发时刷新

本文关键字:刷新 异步 2010 ReportViewer | 更新日期: 2023-09-27 17:59:21

好吧,我已经搜索并尝试了整整六个小时的不同想法,但我还没有找到解决方案。

我使用的是Visual Studio 2010、C#、ASP.Net 4.0和ReportViewer 10。

我有一个javascript函数,它进行异步调用,用新值刷新报表参数,然后重新加载报表。所有内容都按预期执行,但报告不会呈现新数据。

如果我从按钮进行正常回发,那么它是有效的,但一旦是异步回发,它就不起作用了。我读到一些东西,渲染可能会在页面生命周期的后期等,但这让我一无所获。这是我用来设置参数的代码。

代码隐藏:

//Tried with and without this line and it makes no differed
ReportViewer1.Reset();
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
List<ReportParameter> rParams = new List<ReportParameter>();
rParams.Add(new ReportParameter("UserID", SelectedUserID.ToString(), false));
rParams.Add(new ReportParameter("PayrollSalesMonthID", "13", false));
ReportViewer1.ServerReport.ReportServerUrl = new Uri("...");
ReportViewer1.ServerReport.ReportPath = "...";
ReportViewer1.ServerReport.SetParameters(rParams);
//Tried with and without this line and it makes no differed
ReportViewer1.ServerReport.Refresh();

标记:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" BorderStyle="None" Width="100%" Height="98%" SizeToReportContent="true" AsyncRendering="true" />
</rsweb:ReportViewer>

更新

我的页面上有一个ASP脚本管理器和一个EXT.Net资源管理器,如下所示,这导致了错误。一旦我删除资源管理器,它就可以正常工作,但我确实需要它来实现此页面上的其他功能。同样,将报告放入iFrame是不可能的。

<ext:ResourceManager ID="ResourceManager1" runat="server" Locale="en-GB" />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

关于如何让这两位经理打得好,有什么想法吗?

ReportViewer 2010未在异步回发时刷新

是否已将scriptmanager.EnablePartialRendering标志设置为true

尝试将ReportViewer放入UpdatePanel中,或调用ReportViewer1.Update方法(我没有尝试过),Update方法是从Ext.Net到所有刷新客户端中控件状态的控件的扩展方法。

我希望它对你有用。当做Paúl Somarriba