2009-03-23 19 views

Respuesta

9

controles de usuario son una forma de control personalizado, que le da un diseñador visual. Son ideales para usar cuando desee un control reutilizable dentro del mismo sitio web. (Es posible crear y empaquetar controles de usuario como ensamblajes separados, pero eso está más allá del alcance de esta pregunta y sé que se ha solicitado en SO).

Un control personalizado se suele utilizar para referirse a un control web o un control compuesto que es una forma especializada de un control web. Estos controles no tienen diseñador y generalmente se implementan en proyectos separados de su web, lo que les permite ser reutilizados en muchos sitios.

Ahora su segunda pregunta, ASCX y ASPX son dos cosas diferentes. ASCX es la extensión de un Control de usuario, donde ASPX es una página ASP.Net. No puede usar un ASCX por sí mismo, debe colocarse en una página ASPX o Master.

Una forma en que me gusta usar controles de usuario es, por ejemplo, tengo una página muy compleja que tiene 7 pestañas, 5 de las cuales tienen cuadrículas, de esas cuadrículas, tres de ellas son identículas. Bueno, lo que puedo hacer es crear un control de usuario independiente para el contenido de las pestañas, esto ahora reduce significativamente el código que necesito (ya que tres cuadrículas son idénticas, excepto por los datos).

Además, permite que múltiples trabajen en varias partes de la página, y me ayuda a mantener todo en orden, ya que estoy reduciendo la complejidad de la página. No usa los controles de usuario en lugar de las páginas, los usa en conjunción con una página.

Editar

usted no utiliza ascx sobre aspx. Usas ascx para complementar. Por ejemplo, en mi sitio, cada página tiene el mismo pie de página, pero no quiero que todas las páginas procedan de una única página maestra. Puedo crear mi pie de página como un control de acsx y ponerlo en cada una de mis páginas maestras.

Otro ejemplo, tengo un formulario que permite al usuario ingresar tres rangos de fechas diferentes. (Y tenemos otras formas). Así que puse la lógica para habilitar un botón de calendario, y un cuadro de texto que cuando se hace clic abre el calendario, en un control de usuario. Luego puedo reutilizar ese control de usuario en todas mis páginas aspx.

+2

, ¿cuál es la ventaja al usar ascx sobre aspx – peter

3

controles de usuario/controles compuestos

controles de usuario que se componen de otros controles ASP.NET o personalizados. Por lo general, son bastante sencillos y se pueden crear con bastante rapidez. Por lo general, no se comparten entre proyectos, sin embargo, hay algunos tricks que pueden permitirle hacer esto. controla

personalizada

controles personalizados están los controles que implemente la interfaz de usuario mediante la creación de todo, desde la salida HTML para diseñar el apoyo tiempo. Los controles personalizados tardan mucho más en realizarse. Debe usar Web.UI.Control o heredar desde un subcontrol (TextBox por ejemplo). Los controles personalizados se compilan en formato binario para permitir que se distribuyan más fácilmente. Dado que se compilan, se pueden referenciar desde la caja de herramientas en Visual Studio.

Hay dos ventajas principales al usar un control en una página aspx. Encapsulación de lógica y reutilización.

+0

entonces ¿cuál es la ventaja de ascx sobre aspx entonces – peter

+0

Para que quede claro que no se puede reemplazar una página aspx con un usercontrol. – cgreeno

5

Los controles personalizados son de control compilados completamente en código. El profesional es que puedes ponerlos en librerías, agregar un ícono a la caja de herramientas y otro control fino.

Los controles de usuario son más fáciles de hacer, y en general es una manera de encapsular cosas para simplificar otras páginas o cuando necesita usar el mismo marcado en varias páginas.

La ventaja de los controles sobre las páginas aspx regulares es que sólo se necesita hacer una cierta parte del margen de beneficio (no la página entera)

Cuestiones relacionadas