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>
关于如何让这两位经理打得好,有什么想法吗?
是否已将scriptmanager.EnablePartialRendering
标志设置为true
?
尝试将ReportViewer放入UpdatePanel中,或调用ReportViewer1.Update方法(我没有尝试过),Update方法是从Ext.Net到所有刷新客户端中控件状态的控件的扩展方法。
我希望它对你有用。当做Paúl Somarriba