У меня была странная проблема с интерактивной сортировкой и подкачкой страниц в 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.
Любая помощь с этим будет высоко ценится.
(комментарии из ответа, который я сделал до того, как набрал достаточно репутации, чтобы иметь возможность комментировать):
есть кое-что еще, что я заметил о том, что происходит с этим. используя fiddler, я просматривал http-запрос / ответы на каждый щелчок сортировки и щелчок навигации и заметил, что при переходе со страницы 1 на стр. 2 нет запроса http GET, все остальные щелчки навигации и щелчки сортировки выполняют запрос GET, а затем HTML обновляется с соответствующим ответом. если при переходе со страницы 1 на 2 после другой сортировки запрос GET отсутствует, страница не будет обновлена до текущего порядка сортировки. это похоже на ошибку ReportViewer AJAX для меня ...