Проблема интерактивной сортировки и разбиения по страницам в службах Reporting Services с помощью ReportViewer

У меня возникла странная проблема с интерактивной сортировкой и разбиением по страницам в ReportViewer, которую я не могу понять. Я использую определение локального отчета и элемент управления ReportViewer на странице aspx. У меня для AsynchRendering установлено значение true. Вроде все работает нормально, кроме этой проблемы. Вот шаги, чтобы воспроизвести проблему:

(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, порядок сортировки правильный, а если я перехожу на страницу 2 с любой другой страницы, кроме страницы 1, порядок сортировки правильный.
  • Если я установил для AsyncRendering значение false, у меня вообще не было бы этой проблемы. Однако мне нужно, чтобы для AsyncRendering было установлено значение true.
  • Эта проблема возникает только в IE6 и IE7. Этого не бывает в Firefox или Chrome.
  • Вот самый странный => эта проблема возникает только после развертывания на веб-сервере. Если я запускаю его с сервера разработки Visual Studio 2008 на моем компьютере, все без исключения работает отлично.

Это проблема, потому что корпорация, с которой я работаю, в значительной степени использует только IE6 / IE7, эта функция сортировки является обязательной, а страница слишком медленная, если я не использую AsyncRendering.

Любая помощь с этим будет очень признательна.

(комментарии к ответу, который я сделал до того, как у меня была достаточно репутации, чтобы иметь возможность комментировать): есть еще кое-что, что я заметил в том, что с этим происходит. используя скрипач, я наблюдал http-запрос / ответы при каждом щелчке сортировки и щелчке навигации, и я заметил, что при переходе со страницы 1 на страницу 2 нет запроса HTTP GET. все остальные щелчки навигации и щелчки сортировки делают запрос GET, а затем html обновится с соответствующим ответом. если нет запроса GET при переходе со страницы 1 на 2 после того, как произошла другая сортировка, то страница не будет обновлена ​​до текущего порядка сортировки. мне это кажется ошибкой ReportViewer AJAX ...


person gabe    schedule 19.11.2008    source источник


Ответы (1)


У меня возникла проблема с использованием AsyncRendering, моя проблема сильно отличалась от вашей, но, возможно, эта ссылка может вам помочь.

Попробуйте воспользоваться рекомендациями, приведенными в этой статье, удалив xhtml doctype со страницы, сработавшей для моей проблемы.

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

[1]: http://the xhtml doctype со страницы

person Alan Featherston    schedule 20.11.2008
comment
спасибо за ответ, Алан! да, я читал это раньше. Я просто думаю, что это глупо, что вам нужно удалить doctypes, чтобы элементы управления работали. они должны работать, а наши xhtml и css должны проверяться. Я еще не пробовал, но дам знать, что происходит. - person gabe; 16.04.2010
comment
Я никогда не проверял ответ Алана, но я уверен, что это, вероятно, решение. Поэтому я отмечаю это как ответ (и поскольку у других не было лучших идей). - person gabe; 16.04.2010