ASP MVC хранит состояния страниц для последующего восстановления - PullRequest
1 голос
/ 01 ноября 2009

У меня довольно сложный набор элементов управления ASP MVC, которые устанавливают фильтр данных (диапазон идентификаторов аккаунтов, диапазон затрат, носитель, даты и т. Д.) При этом также создается объект таблицы данных со стандартным объектом типа набора результатов.

Пользователь может задаться вопросом со страницы и затем вернуться. Я хочу восстановить предыдущие состояния управления фильтром, а также получить текущий набор результатов.

Каков стандартный метод ASP MVC для хранения состояния сеанса пользователя? У меня есть доступ к базе данных SQLServer. Одна идея состоит в том, чтобы сохранить объект представления фильтра и текущий результат в кэше.

Мне не нужно восстанавливать состояние между посещениями сеанса (они закрывают браузер и возвращаются в другое время.)

Ответы [ 2 ]

0 голосов
/ 01 ноября 2009

Полагаю, вы просто хотите сохранить значения фильтра, а не результаты запроса, верно? Если это так, вы можете сохранить их в строку и сохранить их в файле cookie. Вы также можете использовать сеанс asp. У сессии есть некоторые недостатки масштабируемости, но часто это самый простой вариант.

0 голосов
/ 01 ноября 2009

Сохранение состояния сеанса - правильное ключевое слово.

http://msdn.microsoft.com/en-us/library/ms972429.aspx

http://www.devarticles.com/c/a/ASP/Maintaining-Session-State-With-ASP/

Вам нужно просто захватить переменную состояния сеанса и как-то сохранить ее, а затем как-то ее получить. Это может быть много работы, и может быть встроенный способ сделать это, так как у вас есть MS SQL Server прямо там. Но я не знаю, как подключить эти вещи, поэтому я бы записал объект сеанса в поток объектов, подключенный к базе данных. Вы можете запросить его позже.

EDIT: С другой стороны, так как вы сказали, что вам не нужно восстанавливать его между посещениями, возможно, вы просто хотите, чтобы срок аренды этого был намного больше, чем он есть. Похоже, они истекают? Скажите ему, чтобы он висел на соединениях еще несколько часов. Если они не закроют страницу, они получат новый вход в систему, если браузер удалил файлы cookie.

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