我一直有一个奇怪的问题与交互式排序和分页ReportViewer内,我不明白。我在aspx页面中使用本地报告定义和ReportViewer控件。我将AsynchRendering设置为true。除了这个问题,一切似乎都很好。下面是重现该问题的步骤:报告服务交互式排序和分页问题与ReportViewer
(page 1 before all sorts) COL1 | COL2 a 1 c 3 b 2
1)在第1页上,升序排列上COL1 - 排序是正确的
(page 1) COL1 | COL2 a 1 b 2 c 3
2)导航到第2页 - 排序是正确的
(page 2) COL1 | COL2 d 4 e 5 f 6
3)降序排序列上X(此时它会自动返回到第1页后) - 排序是正确
(page 1) COL1 | COL2 z 26 y 25 w 24
4)再次导航到第2页 - 排序不正确;数据仍然升序排列,犹如排序点击而第2页上从来没有发生过
(page 2) COL1 | COL2 d 4 e 5 f 6
其他奇怪的事情:
- 如果我浏览到其他页面,除了2页从页1,排序顺序是正确的,如果我从除页面1以外的任何其他页面导航到页面2,排序顺序是正确的。
- 如果我将AsyncRendering设置为false,那么我根本就没有这个问题。我需要将AsyncRendering设置为true。
- 此问题只发生在IE6和IE7中。我没有在Firefox或Chrome中发生。
- 下面是最怪异的一个=>这个问题只发生在我部署到Web服务器之后。如果我从我的计算机上的Visual Studio 2008开发服务器运行它,一切都完美无缺。
这是一个问题,因为我的工作几乎只使用IE6/IE7,这种排序功能是一个要求,如果我不使用AsyncRendering,页面太慢。
任何帮助,这将不胜感激。
(我之前给出的答案中的评论我有足够的声望可以评论): 还有一些我注意到关于与此有关的事情。使用fiddler,我看到每个排序点击和导航点击http请求/响应,我注意到从页面1导航到页面2时没有http GET请求。所有其他导航点击和排序点击发出GET请求,然后html会刷新相应的响应。如果在发生另一种排序后从第1页导航至第2页时没有GET请求,则页面将不会刷新为当前排序顺序。这看起来像ReportViewer AJAX的bug ...
感谢您的答复,艾伦! 是的,我以前读过。我只是觉得它有点愚蠢,你必须删除doctypes来让控件工作。他们应该工作,我们的XHTML和CSS应该验证。我还没有尝试过,但我会让你知道发生了什么。 – gabe 2010-04-16 14:41:50