ASP.NET MVC Сохранение настроек страницы - PullRequest
0 голосов
/ 19 апреля 2009

Я пишу учебный проект в ASP.NET MVC. У меня есть страница «Книги», на которой отображаются книги пользователя, и на этой странице есть несколько вариантов сортировки и фильтрации, например:


Страница книги

Параметры сортировки: название, год, автор ... Параметры фильтрации: чтение, непрочитанное ...


Когда пользователь выбирает параметр сортировки, такой как «Заголовок», Контроллер сортирует книги по заголовку и возвращается к просмотру. Затем, если пользователь выбирает фильтр «Чтение», я хочу, чтобы перечисленные книги были отсортированы по «Заголовку» и отфильтрованы по параметру «Чтение». ,

Насколько я знаю, для этого я должен хранить параметры сортировки и фильтрации. Я не уверен, что это лучший и простой способ, потому что я немного запутался в понятиях Session, HttpContext, Tempdata в ASP.NET MVC. , Я могу сделать это, используя классический метод ASP.NET Webforms Session, но некоторые люди говорят, что использование сессии может привести к проблемам. Какие есть альтернативы, какой самый лучший и простой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2009

Есть несколько отличных вариантов для вас с MVC Framework. Один из них имеет скрытый ввод в вашей форме, который хранит информацию для вас. Поэтому, когда вы нажимаете кнопку курорта, она вводит это поле для определения порядка сортировки.

Второй, более элегантный способ сделать это - использовать значение, связанное с вашей кнопкой, поэтому, если я нажимаю заголовок, он сортируется по заголовку, если я нажимаю автор, он сортируется по автору. Контроллер сможет обнаружить это.

Наконец, есть несколько отличных элементов управления JavaScript, которые вы можете использовать автоматически. На ум приходит контроль EXT Grid, который просто потрясающий. Это предполагает некоторую работу с JavaScript, но оно того стоит! Надеюсь, это поможет

0 голосов
/ 19 апреля 2009

Это зависит от того, хотите ли вы, чтобы выбор был постоянным, когда пользователь перемещается по сайту и затем возвращается на страницу. Если он должен быть постоянным, то сохранение выбора в сеансе является разумным способом сделать это. Если выборки предназначены только для этой конкретной страницы, то вы можете поместить выборки в ViewData и иметь выборки в представлении, управляемые значениями в ViewData (или Model). Таким образом, выбор для каждой поездки в оба конца приводит к правильным значениям по умолчанию при возврате страницы в браузер.

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

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