Nota: Por flujo de trabajo no me refiero a la tecnología de flujo de trabajo, como la base de flujo de trabajo.¿Mejores prácticas para el flujo de trabajo de aplicaciones web?
Demasiado a menudo me veo obligado a diseñar páginas que fluyen a través de una serie de pasos.
1) Seleccione de un conjunto de opciones. Enviar. 2) Completa una página con resultados. Hacer cambios. Enviar. 3) Haga algo basado en los resultados anteriores. Enviar. 4) Confirmar acciones anteriores. Enviar. 5) Ir a 1.
Un sitio de comercio electrónico con carrito de compras sería un ejemplo de libro de texto de esto.
Ahora, hay varias maneras de lidiar con esto. Mi pregunta es, ¿cuál es la forma recomendada de hacerlo en asp.net? En PHP o ISAPI solo usaría controles html estándar, obtendría los datos de la publicación y haría cosas con ella, cada uno en una página diferente.
ASP.NET parece estar más orientado a soluciones de una sola página. Haga su trabajo, devuélvala a usted mismo, luego muestre sus resultados en la misma página ... avanzando hasta el final, usando algo como MultiView o UpdatePanels para hacer el trabajo. Pero la clave es que no se transfiere a otra página.
Ahora entiendo que Microsoft ha agregado devoluciones de páginas cruzadas a .NET en versiones recientes, pero esto parece menos horneado y algo engorroso. Es difícil trabajar con datos que se publicaron a menos que lo expongas a través de propiedades o algo de tu página anterior.
¿Cómo manejas el escenario que expuse arriba? ¿Utiliza una vista múltiple o un panel de actualización y lo hace todo en una sola página? ¿O lo haces en varias páginas? ¿Cuáles son sus mejores prácticas en este sentido? ¿Tiene algún diseño específico que tienda a usar? ¿Cómo se estructura el flujo de trabajo de los sitios?
Creo que almacenar los datos es probablemente la mejor manera de hacerlo. Un poco más de trabajo, pero luego no tiene que engañar con las cosas de la página cruzada y solo puede confiar en una variable de sesión para mantener la clave principal de los datos. –