Многостраничный мастер в MVC - где хранить введенные данные - PullRequest
5 голосов
/ 16 декабря 2009

Как вы думаете, это лучший способ создать мастера на нескольких страницах в asp.net-mvc? Я думаю:

  1. создать скрытое поле на каждой странице которые содержат весь мой объект сериализованная
  2. переопределить OnActionExecuting -> получить мой объект из скрытых или временных данных
  3. переопределить OnResultExecuted -> поставить объект в tempdata, когда я иду к следующая страница (при перенаправлении)

1 Ответ

6 голосов
/ 16 декабря 2009
  1. Завершение каждого шага в мастере в некоторый элемент <form>
  2. Отправьте форму при переходе к следующему шагу (либо через javascript, либо через <input type='submit'>
  3. Обработка формы-сообщения для извлечения данных, вставленных пользователем
  4. Сохраните ранее сохраненные ответы в переменной Session и извлеките объект, когда он находится в форме сообщения
  5. Добавьте новые ответы и повторно сохраните объект в Session
  6. По завершении извлекайте объект и сохраняйте настройки.

Просто есть немного

[Serializable]
public class WizardAnswers

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

...