1

我在 ReportViewer 中的交互式排序和分页遇到了一个奇怪的问题,我无法弄清楚。我在 aspx 页面中使用本地报表定义和 ReportViewer 控件。我将 AsynchRendering 设置为 true。除了这个问题,一切似乎都很好。以下是重现问题的步骤:

(各种前的第1页)
COL1 | COL2
  一个 1
  3
  b 2

1) 在第 1 页上,按 COL1 升序排序 - 排序是正确的

(第 1 页)
COL1 | COL2
  一个 1
  b 2
  3

2) 导航到第 2 页 - 排序正确

(第2页)
COL1 | COL2
  d 4
  5
  f 6

3)按X列降序排序(这样做后它会自动返回到第1页) - 排序是正确的

(第 1 页)
COL1 | COL2
  26
  是 25
  w 24

4) 再次导航到第 2 页 - 排序不正确;数据仍然按升序排序,就好像第 2 页上的排序点击从未发生过一样

(第2页)
COL1 | COL2
  d 4
  5
  f 6

其他奇怪的事情:

  • 如果我从第 1 页导航到除第 2 页之外的任何其他页面,则排序顺序是正确的,如果我从除第 1 页之外的任何其他页面导航到第 2 页,则排序顺序是正确的。
  • 如果我将 AsyncRendering 设置为 false,我根本没有这个问题。我需要将 AsyncRendering 设置为 true。
  • 这个问题只发生在 IE6 和 IE7 中。我不会发生在 Firefox 或 Chrome 中。
  • 这是最奇怪的一个=> 这个问题只发生在我部署到 Web 服务器之后。如果我在我的计算机上从 Visual Studio 2008 开发服务器运行它,那么一切正常,无一例外。

这是一个问题,因为我工作的公司几乎只使用 IE6/IE7,这种排序功能是必需的,如果我不使用 AsyncRendering,页面就会太慢。

对此的任何帮助将不胜感激。

(在我有足够的声誉能够发表评论之前,我做出的回答的评论):关于这件事我注意到了其他一些事情。使用提琴手,我观察了每次排序点击和导航点击的http请求/响应,我注意到从第1页导航到第2页时没有http GET请求。所有其他导航点击和排序点击发出GET请求,然后html 会使用相应的响应进行刷新。如果在发生另一次排序后从第 1 页导航到第 2 页时没有 GET 请求,则页面不会刷新到当前排序顺序。这对我来说似乎是一个 ReportViewer AJAX 错误......

4

1 回答 1

1

我在使用 AsyncRendering 时遇到了问题,我的问题与你的完全不同,但也许这个链接可能会对你有所帮助。

尝试使用本文中提出的建议,从解决我的问题的页面中删除 xhtml doctype。

[ http://msdn.microsoft.com/en-us/library/ms252090(VS.80).aspx][1]

[1]: http://来自页面的 xhtml doctype

于 2008-11-20T13:31:40.557 回答