Share via


Controles compuestos

Actualización: noviembre 2007

ASP.NET y los controles de ASP.NET Mobile permiten crear controles mediante la combinación de controles existentes. Por ejemplo, si desea encapsular una serie de controles móviles en un control, puede crear un control móvil compuesto. Se puede crear un control compuesto como control de usuario en un archivo .ascx o como control personalizado incluido en su totalidad en un archivo .dll.

Independencia de lenguaje

Los controles de usuario se deben crear en un solo lenguaje, como C# o Visual Basic. Para crear controles compuestos, se pueden combinar controles creados en lenguajes diferentes. Por ejemplo, se puede combinar el ejemplo CarControl de C# descrito en Controles de usuario con un nuevo control escrito en Visual Basic que calcule el inventario de todos los vehículos con las características especificadas.

Composición general

Los controles compuestos pueden heredar de cualquier clase de control, incluida la clase base MobileControl de páginas Web móviles o la clase de controles Panel de páginas Web móviles. Para obtener más información sobre herencias, consulte Extender la funcionalidad con herencia.

Los adaptadores de las clases MobileControl y Panel representan automáticamente todos los controles secundarios, proporcionando la compatibilidad necesaria para los adaptadores de los controles compuestos. Si el control compuesto hereda de cualquier otro control móvil, se debe proporcionar un adaptador que represente los controles secundarios.

Utilizar controles compuestos en páginas Web móviles

Después de crear un control móvil compuesto, puede utilizarlo en una página Web móvil de estas maneras:

  • Si el control es un control de usuario, registre el prefijo de etiqueta, el nombre de etiqueta y el archivo .ascx en la página con una directiva @ Register, como se muestra en el ejemplo siguiente:

    <%@ Register TagPrefix="myCompany" TagName="CarControl" Src="~/CarControl.ascx" %>

  • Si se trata de un control personalizado, registre el prefijo de etiqueta y el ensamblado en la página, utilizando sintaxis diferente para la directiva @ Register:

    <%@ Register TagPrefix="myComany" Namespace="company.MobileControls" Assembly="company.MobileControls" %>

En la propia página se puede insertar el control mediante declaración, como en el ejemplo siguiente:

<myCompany:CarControl id="myCarCtl" />

Vea también

Conceptos

Controles de usuario

Composición específica de dispositivos

Escribir controles Web móviles propios

Otros recursos

Crear controles móviles personalizados