我有一个通过CR Viewer使用Crystal Reports的ASP.NET应用程序。 显示的记录基于会话变量。 这部分工作正常。 但是,我想在查看报告时清除会话变量。 所以我试着在page_unload事件中清除它。令我惊讶的是,该事件在报告加载时被触发。报告的第一页仍然显示正常,但其他页面不会显示为基于它的记录现在为空。 进一步的测试表明,离开CR时,page_unload事件甚至不会触发 我不知道为什么page_unload会在page_load之后触发,但我想我会尝试在page_disposed事件中清除会话变量。但是当我进入我的应用程序中的另一个页面时,这并没有触发。 我还尝试了CrystalReportViewer1_Unload事件,但在加载时也会在每个页面上触发。
所以当我知道他们看完报告时,我正在寻找可以清除会话变量的地方。感谢。
答案 0 :(得分:0)
如果有人想出答案,那仍然会很棒。但这是我找到的工作。
我想要清除会话变量的原因是它存储了一个购物车,并且在打印之后,我希望购物车是空的,以防他们再购物了。 我最终做的是将会话变量复制到另一个。我在打印前清除了第一个用于打印记录的第二个。第二个是否被清除并不重要,因为它不是真正的购物车。