繁体   English   中英

ReportViewer 2010在异步回发时没有刷新

[英]ReportViewer 2010 not refreshing on async postback

好的,我已经一直在寻找和尝试不同的想法六个小时,我还没有找到解决方案。

我正在使用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>

UPDATE

我的页面上有一个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úlSmarriba

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM