Вот мой сценарий:
1) Пользователь запускает поиск, чтобы получить значения для отображения в ListView через LinqDataSource.
2) Они нажимают на один из пунктов, который переносит их на другую страницу, где можно изучить детали, провести дальнейшую детализацию и т. Д.
3) Пользователь хочет вернуться к исходным результатам ListView, чтобы выбрать другой элемент для проверки.
Я вижу, что можно передавать параметры строки запроса, позволяя дублировать запросы каждый раз, когда пользователь возвращается в ListView, но, похоже, должен быть способ кешировать результаты.
Поскольку я использую LinqDataSource, я считаю, что фактические результаты выбираются при каждом запуске запроса. В настоящее время я передаю тип «select new {blah, blah}» IEnumerable для e.Results, который нельзя превратить в List, поскольку он заполнен анонимными типами.
Короче говоря:
1) Имеет ли смысл размещать потенциально большие результаты запросов в пользовательской сессии?
2) Если это так, является ли List разумной структурой данных?
3) Нужно ли прибегать к чему-то вроде создания класса с правильными свойствами для хранения анонимных данных, перечисления возвращаемого запроса, заполнения списка?
4) Есть ли лучший вариант, чем LinqDataSource для этого типа цели?
5) Или просто имеет смысл запускать запрос каждый раз, когда они попадают в ListView?
Я прошу прощения, если это не было ясно. Я был бы очень признателен, если бы кто-то смог привести меня в порядок, прежде чем я собрал кучу своего свободного времени и направился по неверному пути:)