none
Guardar temporalmente datos en memoria RRS feed

  • Pregunta

  • Hola,

    Estoy desarrollando una aplicación en la que necesito guardar los datos que me vayan informando y en el momento que pulsen un botón guardar mandar los datos a la base de datos.

    Es la típica aplicación de fichas de trabajador, un trabajador tiene varias tablas enlazadas (hijos, estudios, etc, etc) y necesito ir cambiando entre acciones que devuelven diferentes vistas para completar el alta del trabajador.

    Estoy pensando en usar TempData para almacenar la información hasta que llegue el momento de guardar a la base de datos, desconozco si hay alguna solución mejor.

    Conocéis vosotros alguna forma mejor de dar solución al problema? la que voy a implementar es la correcta?

    Saludos,

    sábado, 6 de diciembre de 2014 9:57

Todas las respuestas

  • No, no uses el TempData. Está pensado para persistir durante un único viaje de ida y vuelta al servidor, y por la descripción que haces, tú necesitas conservar los datos durante varias llamadas a los métodos de acción. En este caso, es preferible que uses el Session para conservar esos datos.

    Otra alternativa todavía mejor es la de ir guardando los datos poco a poco en la base de datos desde cada método de acción, aunque sea en tablas auxiliares para datos "incompletos", que luego se mueven a las tablas definitivas cuando se haya completado la operación de alta. Esto tiene la ventaja de que al usuario no se le pierde el trabajo realizado hasta el momento en el caso de que (por ejemplo) se le ciere el navegador y se pierda la sesión.

    sábado, 6 de diciembre de 2014 10:52
  • hola

    si quieres hacerlo con la ultima tecnica, sin siquiera ir al servisor para conservar esta informacion, entonces usar AngularJS y desarrollar ese modulo en una aplicacion estilo SPA (simple page application)

    con esto podrias navegar varios modulos he ir tomando los datos y guardarlos en memoria pero en el browser

    Learn About ASP.NET Single Page Application

    puede ser un poco dificil si es que nunca antes desarrollaste con este conceto de SPA, pero si me preguntas es l que yo implementaria

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 6 de diciembre de 2014 13:12
  • No se por que tenia yo en mente que usar sesiones en MVC era una mala practica :P tenia pensado usar TemData.Keep para mantener la información.

    Creo que sera la mejor opción, usar una sesión, lo de crear tablas temporales puede ser bastante complejo, es un aplicación muy grande y eso me ampliaría mucho el tiempo de desarrollo, sobre todo en el momento de actualizar datos teniendo que sincronizar las tablas.





    • Editado poraque sábado, 6 de diciembre de 2014 14:58
    sábado, 6 de diciembre de 2014 14:19

  • con angular he hecho algunas cosas, pero aun no lo tengo muy por la mano, ¿podría aprovechar las validaciones de ASP MVC en angular?


    sábado, 6 de diciembre de 2014 14:20