Как отсортировать элемент управления привязкой данных при включенном кэшировании источника данных

Событие SqlDataSource.Selected не запускается, когда кэширование SqlDataSource включено и сервер загружает данные из кэша.

Я использовал выбранный метод и SqlDataSourceSelectingEventArgs для сортировки данных, но иногда он не срабатывает.

У кого-нибудь есть идеи об альтернативном способе сортировки, когда данные поступают из кеша?

Protected Sub sdsSupplies_Selecting(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles sdsSupplies.Selecting

        e.Arguments.SortExpression = "SortedColumnID ASC"

End Sub

person Rich M    schedule 24.05.2011    source источник


Ответы (1)


Что произойдет, если вы перехватите событие DataBinding?

person Dennis Traub    schedule 24.05.2011
comment
Событие SqlDataSource DataBinding также не срабатывает. У меня есть элемент управления Repeater, привязанный к нему, его событие срабатывает, но я не думаю, что вы можете там сортировать. Я думаю, что решение может состоять в том, чтобы отсортировать часть SQL или запретить кэширование. - person Rich M; 24.05.2011
comment
В настоящее время я не за компьютером. Но позволяет ли SqlDataSource выбирать параметры? Установка сортировки в качестве параметра может привести к принудительному выполнению нового запроса. - person Dennis Traub; 24.05.2011
comment
Я считаю, что это позволяет, однако вы, по сути, говорите ему не использовать кеш, изменяя подпись параметра. Могли бы и отключить кеширование. В моем случае это возвращалось к исходной собственной последовательности строк после 2-й или 3-й обратной передачи. Мой порядок сортировки статичен, я просто позволяю IIS сортировать, а не SQL. - person Rich M; 25.05.2011