net mvc multiple buttons asp asp.net-mvc-3 razor viewmodel object-persistence

asp.net mvc 3 - multiple - MVC3 forma de múltiples pasos-Cómo persistir el objeto modelo



mvc submit button action (2)

He usado TempData para este propósito.

Puede almacenar un objeto (una copia de los datos de su modelo) en TempData y usarlo en la siguiente solicitud. Si no se retrasa en la siguiente solicitud, se "destruirá". Así que no tiene que preocuparse de que esté llenando su sesión.

Tengo un formulario de varios pasos que usa un objeto modelo y necesito persistir entre los pasos. El objeto se guarda en la base de datos solo después del último paso. He visto personas que sugieren usar HTML.Serialize, pero ¿qué tan segura es esta opción?

También mi objeto modelo crecerá a medida que el usuario complete el formulario, lo que significa que el campo de formulario oculto con datos serializados agregará el tamaño a mi salida HTML.

¿Cuál es la mejor práctica para este tipo de situación?


Piense en su Controlador como una máquina de estado donde cada acción es un paso en el asistente. Acerca de la persistencia entre los pasos no es gran cosa de todos modos es un POCO simple como un comando Dto, que se va a enviar a su interfaz de dominio para su validación y procesamiento. Puedes almacenarlo en tu IoC, Session, Cache, FileSystem ... Espero que lo hayas conseguido. Mantenlo simple y limpio.