Как передать данные через ActionResults в MVC 3? - PullRequest
1 голос
/ 29 августа 2011

У меня есть ряд страниц, которые конечный пользователь должен заполнить (флажки), и когда они заканчиваются с каждой страницей, я пытаюсь создать список флажков, которые они выбрали.В конце серии страниц я хотел бы показать им все, что они выбрали на странице подтверждения.Я заметил, что между запросами информация в Списке <>, которую я создаю на каждой странице, недоступна для последней страницы подтверждения.Я пробовал несколько разных решений (частных глобальных) безрезультатно.Как бы я передавал данные через ActionResults для отображения всех выбранных данных на странице подтверждения?Спасибо.

Одно потенциальное решение. Другие?

Ответы [ 3 ]

2 голосов
/ 29 августа 2011

Сеть не имеет состояния, то есть вы должны хранить вещи, если хотите сохранить их для дальнейшего использования. Это верно для любого веб-фреймворка. Вам нужно где-то хранить результаты каждой страницы.

Варианты построения мастера:

  • Сохраните все выбранные ответы в сеансе и продолжайте наращивать их со страницы на страницу. Окончательное подтверждение получит результаты сеанса.
  • Храните их в базе данных.
  • Сохранение результатов в файле cookie.
  • Храните их в локальном хранилище HTML5
  • Перенесите их на каждую страницу со скрытыми полями. Страница 2 будет иметь ответы на странице 1 в скрытых полях и т. Д.
1 голос
/ 29 августа 2011

Вам необходимо сохранить состояние между запросами.Вы можете сделать это с помощью:

  1. Параметры строки запроса
  2. Состояние сеанса
  3. Скрытые поля
  4. Db (если вы хотите сохранить промежуточные варианты послекаждый запрос)
  5. Локальное хранилище
  6. Cookies

Что-нибудь еще?

Я думаю, как указывает RyanW, что их хранятсостояние сеанса - это обычный способ сделать это.Тем не менее, вы можете получить все шаги в одном запросе, сделать какую-нибудь необычную JS / сохранить промежуточные результаты локально и сделать окончательное сообщение после заполнения вопросника.

0 голосов
/ 29 августа 2011

Вы должны посмотреть здесь

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

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