Estoy creando una aplicación MVC. Una de mis tareas es construir una tienda. Configuré un "asistente" como un conjunto de vistas que lleva al usuario a completar diferentes tipos de datos hasta el final de la operación, en un total de 7 pasos.ASP.NET MVC: paso de datos a través de Vistas
Mi problema es cómo compartir algunos datos entre todas estas vistas.
Primero utilicé el anticuado Session
y todo funcionó en mi escritorio, pero cuando finalmente implementé mi aplicación en el servidor de alojamiento de mi compañía obtuve excepciones porque Session
se borró aleatoriamente durante algunos pasos.
Ahora modifiqué todo para configurar los datos que necesito dentro de TempData
, y actualicé todos los datos en cada paso y parece que funciona correctamente.
¡Estoy un poco confundido!
Mi confusión es sobre todas estas estructuras: Sesión (sé que viene de asp.net), ViewData
, TempData
y la magia ViewBag
.
He leído mucho sobre pero necesito que alguien me diga claramente qué es más apropiado para mí en este caso.
Steven Sanderson tiene la discusión detallada sobre ese tema en su libro Pro ASP.NET MVC 2, Capítulo 13> Wizards and Multpasp Forms. Si tienes el libro, puedes echarle un vistazo – archil
Compré el libro, ¡estoy esperando al Sr. Amazon! Mientras tanto, mi jefe me pregunta por qué nuestro sitio no funciona. ¡Es una vida dura! – JasonMenny
En realidad, el almacenamiento de respaldo predeterminado para TempData es Sesión. Así que no esperaría que funcione cuando la sesión se borre a menudo. Tenga cuidado aunque – archil