Recomendaciones sobre los controles Web de usuario y los controles Web personalizados
Si ninguno de los controles de servidor ASP.NET existentes cumple los requisitos específicos de las aplicaciones, se puede crear tanto un control de usuario Web como un control Web personalizado que encapsule la funcionalidad que se necesita. La diferencia principal entre los dos controles radica en la facilidad de creación frente a la facilidad de uso en tiempo de diseño.
Los controles de usuario Web son fáciles de crear, pero pueden resultar más difíciles de usar en escenarios avanzados. Estos controles se diseñan casi del mismo modo que las páginas de formularios Web Forms y, como los formularios Web Forms, pueden crearse en el diseñador visual, pueden escribirse con código independiente del código HTML, y pueden gestionar eventos de ejecución. No obstante, dado que los controles de usuario Web se compilan dinámicamente en tiempo de ejecución, no pueden agregarse al Cuadro de herramientas, y se representan mediante un sencillo glifo de marcador de posición cuando se agregan a una página. Esto dificulta el uso de los controles de usuario Web si se está acostumbrado a la compatibilidad total con Visual Studio .NET en tiempo de diseño, incluidas las vistas previas de la ventana Propiedades y la vista Diseño. Asimismo, el único modo de compartir el control de usuario entre aplicaciones es ubicar una copia independiente en cada aplicación, lo que aumenta el trabajo de mantenimiento cuando se efectúan cambios en el control.
Los controles Web personalizados son código compilado, lo que los convierte en más fáciles de usar pero más difíciles de crear, ya que deben ser creados en código. Una vez creado el control, no obstante, puede agregarse al Cuadro de herramientas y mostrarse en un diseñador visual con total compatibilidad con la ventana Propiedades y el resto de las funciones de tiempo de diseño de los controles de servidor de ASP.NET. Además, se puede instalar una única copia del control Web personalizado en la caché del ensamblado global y compartirla entre las aplicaciones, lo que facilita el mantenimiento. Para obtener más información, vea Caché de ensamblados global.
Si el control contiene mucho diseño estático, puede convenirle un control de usuario. Si el control se genera en su mayor parte de forma dinámica, por ejemplo, las filas de una tabla enlazada a datos, los nodos de una vista de árbol o las fichas de un control de ficha, la opción más práctica sería un control personalizado.
Las diferencias principales entre los dos tipos de controles se enumeran en esta tabla:
Controles de usuario Web | Controles Web personalizados |
---|---|
Más fáciles de crear. | Más difíciles de crear. |
Compatibilidad limitada para los usuarios que usan herramientas de diseño visual. | Total compatibilidad con todas las herramientas de diseño visual. |
Es necesaria una copia independiente del control para cada aplicación. | Sólo es necesaria una copia del control, ubicada en la caché del ensamblado global. |
No se puede agregar al Cuadro de herramientas en Visual Studio | Se puede agregar al Cuadro de herramientas en Visual Studio |
Idóneo para el diseño estático | Idóneo para el diseño dinámico |
Vea también
Introducción a los controles de usuario Web | Tutorial: crear controles Web personalizados | Tutorial: crear controles de usuario Web