asp.net panel multiview

¿Cuál es un uso apropiado para el control MultiView de ASP.NET?



panel (5)

Cada vez que desee mostrar contenido diferente en una página en función de alguna condición. En el trabajo, he creado un control de pestañas que solo usa un MultiView y otro control simple que hice que parecen pestañas. Cada pestaña pone un enlace (que está diseñado) en el otro control que está conectado para configurar la vista activa en la pestaña correcta.

¿Cuáles son algunos escenarios donde MultiView sería una buena opción? El control MultiView junto con sus controles de Vista simplemente parecen extender la noción de Paneles.

Ambos paneles y MultiViews parecen propensos al abuso. Si sus inquietudes sobre la interfaz de usuario y las inquietudes sobre la lógica del negocio están separadas correctamente, ¿por qué agrupar las vistas en una sola ASPX?


Lo he usado en el pasado para implementar una simple interfaz de pestañas habilitada para Ajax.

Diseñe un botón para que parezca una pestaña, luego configure su evento OnClick para cambiar la vista activa en un panel de actualización.


Cualquier situación en la que se encuentre al alternar la pantalla de uno o más paneles es un candidato principal para un control MultiView. Un control de asistente con más plantillas, o formas de maestro / detalles, por ejemplo.

Acepto que están abiertos para el abuso y usted debe evaluar si es mejor separar el código en páginas separadas antes de usarlas. He trabajado en proyectos en los que el desarrollador anterior ha intentado poner demasiado en una sola página con MultiViews y son tremendos para trabajar.

Una cosa de la que debemos desconfiar con MultiViews es que, a diferencia de los paneles, cualquier control de fuente de datos declarativo contenido en ellos siempre se vinculará, incluso cuando la vista en la que están contenidos no esté activa / visible.


He usado MultiViews como una base más flexible para un control Wizard.

Estoy de acuerdo en que juntar muchas vistas juntas es un olor a código. En el caso de un asistente, a menudo hay muchas piezas de estado que desea compartir durante todo el proceso. La vista múltiple permite que este estado simplemente se almacene en viewstate.

La mayoría de las veces hago que el contenido de cada vista controle a un solo usuario para que pueda encapsular la lógica relacionada con ese paso en particular.


Puede ser útil para cosas como formularios en línea, donde puede tener una vista que muestre el formulario real y otra vista que aparezca después con el texto "gracias", etc.