我有一个aspx页面,我在其中创建报告和图表的动态。创建这些图表和报告需要很长时间,因为在创建完成之前,会向用户显示一个空白屏幕。
您是否可以建议如何将实际报表和图表创建代码从页面加载中断开,以便显示处理文本,然后在生成的图表或报表准备好后显示出来。
编辑:- --我想这样做--在第一次请求时触发报表或图表创建,并注册一个回调以完成。然后,客户端可以每2-3秒轮询一次服务器,以检查报表创建是否完成。我需要你的帮助,我可以确切地实现这一点,或者如果你能想到更好的东西。
如果问题不够清楚,请告诉我。
发布于 2010-08-31 18:38:09
一个快速的解决方案是将逻辑从Page_Load移出并进入它自己的函数中。将<asp:UpdatePanel>添加到要显示图表的位置,并向页面添加<asp:Timer>控件。对于计时器的On_Tick事件,调用生成和显示图表的代码,禁用计时器(因此它不会再次勾选),并在您的UpdatePanel上调用Update()。
这将导致页面加载基本输出,然后计时器将启动AJAX调用来生成和显示图表。这不是最优雅的解决方案,但它可能是最快的实现。
发布于 2010-08-31 18:32:20
无论您的代码是在Page_Load中还是在页面生命周期中触发的任何其他事件中,都不重要。您可能需要一种Ajax类型的方法来绘制图表。我不知道您到底在做什么,但是我已经成功地使用了SSRS ReportViewer控件。
https://stackoverflow.com/questions/3611988
复制相似问题