ASP .NET MVC хранит множество параметров между представлениями - PullRequest
5 голосов
/ 31 января 2012

У меня очень простой сайт ASP.NET MVC, который отображает изображения из базы данных.Пользователь заполняет некоторые параметры поиска, и представление возвращает список изображений из базы данных, которые соответствуют критериям поиска.

Я сейчас добавляю пагинацию, где в зависимости от номера страницы я пропускаю определенное количество изображений, извлеченных из базы данных.У меня это работает для первой страницы.Мои параметры поиска теряются, когда я нажимаю на вторую страницу результатов, поскольку у меня нет механизма для сохранения параметров поиска между представлениями на данный момент.

Какой лучший подход.Я мог бы иметь много параметров поиска.Должен ли я хранить их все в сеансе или в скрытых полях?Это похоже на взлом.Должен ли я иметь отдельную ViewModel для хранения параметров поиска и сохранения их в сеансе?

Какой типичный подход выбрать?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Обычно данные кросс-нумерации хранятся в скрытых полях.Для масштабируемости сеансы должны быть ограничены связанными с сеансом данными.Если помещение данных в скрытые поля открывает уязвимость, вы можете рассмотреть возможность сериализации модели представления и шифрования ее как одного скрытого поля.Поместить его в URL - это еще один вариант, хотя вы ограничены объемом контента, который вы можете поместить туда.

1 голос
/ 31 января 2012

Я бы поместил их все в строку запроса ваших ссылок "Далее" и "Предыдущие". Это позволит посетителям добавить в закладки полный URL-адрес и вернуться на ту же страницу с теми же настройками сортировки и фильтрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...