На каждой странице нашего приложения есть несколько фильтров. Моя текущая цель - реализовать механизм хранения фильтров и предварительно выбрать их, когда пользователь снова откроет страницу, поэтому, по крайней мере, во время одного сеанса пользователь не будет выбирать их снова и снова, когда он открывает страницу или перемещается с от страницы к странице.Как лучше хранить фильтры со стороны клиента в сеансе
Приложение написано с помощью ASP.NEt MVC, и мы используем много javascript для обработки фильтрации. В настоящий момент большая часть фильтрации выполняется только на стороне клиента (например, извлекаются полные данные для сетки, и вся дальнейшая фильтрация производится только на клиенте).
Я думал, эти шаги:
- Базовый класс для контроллеров: Method1 принимает данные отправить по методу из common.js и сохраняет его в сессии.
- общий JS: to common.js добавить метод, который принимает выбор, сделанный пользователем, и вместе с именем элемента управления и именем страницы отправляет его на сервер Method1, чтобы сохранить новый выбор в Объект сеанса.
- Базовый класс для контроллеров: Method2 принимает имя контроллера, имя страницы и извлекает объект Session.
- JS отдельных страниц: в событии onload, указывающем все существующие фильтры и получение данных из Method2.
Однако я не уверен, что это решение является универсальным и оптимальным.
И я не хочу изобретать велосипед. Есть ли уже существующие решения или шаблоны для этой задачи? Или любые идеи, как это можно сделать лучше?
Спасибо за идею! Это звучит разумно, но я думаю, что мы будем придерживаться сессии, поскольку мы хотим сохранить данные выбора в базе данных позже, чтобы пользователь мог использовать свои фильтры, когда он открывает сайт на другой машине. – Anelook