none
Formulario de inscripción en varias paginas RRS feed

  • Pregunta

  • Buenas noches.

    soy nuevo en NET, comence por el derecho, al menos eso pienso, trabajando con EF4, ASP NET, STE y en poco pienso montar MVC como arquitectura de las vistas. bajo ese escenario (y disculpan si no es una pregunta para este hilo), quiero montar un formulario de inscripción en varias páginas.

    me explico, tengo muchos datos que el usuario debe ingresar en el formulario ANTES de guardarlo en mi DB (info personal, estudios, familia, logros deportivos, actividades en las que a participado y un interminable etc), me parece que hacerlo en una sola pagina sería muy tedioso para el usuario, y para mi cuando tenga que hacerle mantenimiento, entonces se me ocurre que pueda partirlo en varias paginas como algunos que veo por allí, donde en la primera pagina le pregunte por la info personal, luego un boton SIGUIENTE, y lo lleve a otra página que le pregunte la info familiar con un boton SIGUIENTE y uno ANTERIOR. de manera tal que se pueda devolver a la pagina de info personal sin que se le pierdan los datos que habia digitado, y asi sucesivamente hasta llegar a la ultima pagina de mi formulario donde estará la opción ENVIAR, que será la que grabe el formulario en la DB.

    espero se entienda la idea, y agradezco si alguien me tira un cable (me echa una manito) que me encamine a crear lo que deseo... claro que tambien acepto sugerencias para resolver el problema, de otra manera mas óptima.

    un saludo desde colombia 

     

    jueves, 19 de mayo de 2011 23:43

Respuestas

  • Bueno, habías dicho al principio que pensabas usar MVC. El control Wizard sólo vale para WebForms.

    Lo que hace el Wizard es guardar su estado en el ViewState en lugar de en el Session durante los postbacks. Esto tiene la ventaja de que funciona cuando el Session está desactivado, y el inconveniente de que debe transmitirse de ida y de vuelta en todos los postbacks. En la práctica, salvo que tus formularios tengan una cantidad enorme de datos, no notarás ningún inconveniente, y el Wizard te servirá perfectamente para construir tu programa (siempre que uses ASP.NET WebForms y no ASP.NET MVC).

     

    • Marcado como respuesta milson cardona sábado, 28 de mayo de 2011 2:19
    viernes, 20 de mayo de 2011 20:15

Todas las respuestas

  • Puedes usar el Session de ASP.NET (tanto en WebForms como en MVC) para persistir los datos entre una página y otra. En el click del botón "Siguiente" de cada página, guarda los datos de la página dentro de una serie de variables, y copia esas variables al Session. En cada página sigues añadiendo datos al Session, y en la última lees el Session y los grabas todos en base de datos.

    Cuando digo "en una serie de variables", por supuesto pueden ser una serie de campos de una única entidad, y esa entidad es la que se persiste mediante el Session. Y si estás usando Entity Framework, la entidad en cuestión podría ser una de las entidades generadas automáticamente, si eso te viene bien dada la estructura de tus datos y la forma en la que quieres grabarlos.

     

    viernes, 20 de mayo de 2011 6:38
  • muchas gracias alberto por responder. creo que es buena solución y la mas lógica que se viene a la mente cuando se presenta un problema de estos.

     

    pero ayer estuve consultando y me encontre con un objeto WIZARD, y haciendo algunas pruebas creo que me puede servir porque hace todo lo que expones en tu solución sin necesidad que yo como programador tenga que escribir todo el código que propones.

     

    ahora la pregunta para ti o para cualquier otro forista que me pueda dar una mano...

    PRIMERA que opinan del objeto WIZARD, alguien lo ha probado?

    SEGUNDA que me recomiendan, hacer todo el codigo de guardar en session la informacion que me digitan, con su lógica renderización en caso que el usuario se quiera devolver a una pagina anterior, o por el contrario, usar el WIZARD dadas sus ventajas?

    TERCERA: alguien sabe alguna desventaja de usar el objeto WIZARD???

     

    GRACIAS AMIGOS

    viernes, 20 de mayo de 2011 17:05
  • Bueno, habías dicho al principio que pensabas usar MVC. El control Wizard sólo vale para WebForms.

    Lo que hace el Wizard es guardar su estado en el ViewState en lugar de en el Session durante los postbacks. Esto tiene la ventaja de que funciona cuando el Session está desactivado, y el inconveniente de que debe transmitirse de ida y de vuelta en todos los postbacks. En la práctica, salvo que tus formularios tengan una cantidad enorme de datos, no notarás ningún inconveniente, y el Wizard te servirá perfectamente para construir tu programa (siempre que uses ASP.NET WebForms y no ASP.NET MVC).

     

    • Marcado como respuesta milson cardona sábado, 28 de mayo de 2011 2:19
    viernes, 20 de mayo de 2011 20:15