Pregunta

Estoy creando un formulario web de varias partes en ASP.NET que usa paneles para los diferentes pasos, haciendo visible solo el panel para el paso actual. En el Paso 1, tengo una lista desplegable que usa una función Javascript para reconfigurar algunos de los campos en el mismo Panel a través de "onchange". Obviamente, dado que la secuencia de comandos del lado del cliente solo afecta al DOM, cuando voy al Paso 2 y luego retrocedo al Paso 1, los campos en el Paso 1 vuelven a su configuración original aunque se seleccione la misma opción desplegable.

¿Cuál es un buen método para almacenar el estado visual de los paneles entre los pasos? Pensé en llamar a la función de cambio desplegable en la carga de la página, pero eso parecía torpe. Gracias!

-

Gracias por las respuestas rápidas. Creo que probaré el asistente, pero la solución AJAX también suena divertida.

¿Fue útil?

Solución

Puede considerar un control ASP.Net Wizard para esto: automatizará mucho de lo que está tratando de hacer.

Otros consejos

Le sugiero que use el control MultiView, que es, digamos, semánticamente más apropiado. Y luego almacene estos datos en ViewState. He escrito algo similar y es genial.

Creo que su mejor opción es mantener todo su estado en un solo lugar, o no mantener ningún estado en absoluto. El principal problema que tiene es sincronizar su estado del lado del cliente con el estado del lado del servidor.

Intente mostrar / ocultar sus paneles con javascript en lugar de volver a publicar, si es posible. De lo contrario, use algo de ajax para actualizar los valores en el lado del servidor tan pronto como se seleccionen, en lugar de hacer clic en el botón siguiente / anterior.

De lo contrario, podría usar algo como ASP.Net Ajax Toolkit Tabs para ayudar con las transiciones.

¡Espero que eso ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top