Как вы обрабатываете многокомпонентные формы в ASP.NET MVC? - PullRequest
5 голосов
/ 16 июля 2009

Я хочу создать форму регистрации, которая охватывает 3 страницы в ASP.NET MVC.

Какой метод следует использовать, чтобы сохранить ответы пользователей на первой и второй страницах перед отправкой третьей страницы?

Это делается с помощью TempData, Session или другого метода, специфичного для MVC?

Есть ли примеры, как это сделать?

Ответы [ 3 ]

3 голосов
/ 16 июля 2009

У Стивена Сандерсона есть проработанный пример в Pro ASP.NET MVC Framework (стр. 396-406). Он отправляет данные на страницу или сериализует в TempData по мере необходимости и использует пару пользовательских методов OnActionExecuting / OnResultExecuted для управления ими за кулисами. Внутри контроллера данные всплывают как по волшебству, поэтому они менее прозрачны, чем хотелось бы, но показывают базовый метод персистентности, который позволяет избежать состояния сеанса.

0 голосов
/ 16 июля 2009

Я думаю, что есть несколько критериев, которые вы должны рассмотреть, прежде чем выбрать решение. Вот некоторые из них:

  1. У вас есть аутентифицированные пользователи или публичные (анонимные) пользователи?
  2. Насколько конфиденциальна информация, которую вы храните между страницами?
  3. Им разрешено выходить в автономный режим и возвращаться позже, чтобы продолжить с того места, где они остановились?
  4. Насколько велики данные, которые вы храните (всего), и сколько ожидаемых пользователей вы ожидаете?

Эти вопросы приведут вас к принятию решения о том, где и как хранить данные. Узнав об этом, вы можете начать искать хорошую реализацию этого метода хранения.

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