Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6-Creacion de Controles de Usuario
6-Creacion de Controles de Usuario
Índice
Descripción 1
Lección: agregar controles de usuario a un formulario
Web Form ASP.NET 2
Lección: crear controles de usuario 12
Creación de controles de usuario 1
Descripción
***************************** ******************************
***************************** ******************************
Introducción Un control de usuario es una página ASP.NET que otro formulario Web Form
ASP.NET puede importar como un control de servidor. De modo similar a los
controles de servidor Web, que son componentes que se ejecutan en el servidor,
los controles de usuario proporcionan interfaz de usuario y demás
funcionalidades relacionadas. Una vez creado un control de usuario, éste puede
ser utilizado por otras páginas de la misma aplicación Web.
En esta lección, estudiaremos qué son los controles de usuario, porqué
deberíamos pensar en utilizarlos en nuestras aplicaciones Web, cómo
referenciar un control de usuario desde un formulario Web Form ASP.NET, y
cómo acceder a las propiedades de un control de usuario.
Objetivos de la lección En esta lección, aprenderemos a:
Explicar qué es un control de usuario y por qué deberíamos utilizar uno.
Agregar un control de usuario a una página ASP.NET.
Acceder a las propiedades de los controles de usuario de una página
ASP.NET.
Creación de controles de usuario 3
***************************** ******************************
¿Qué hay en un control Un control de usuario está formado por HTML y código, pero como los
de usuario? controles de usuario son utilizados por formularios Web Forms, no contienen
las etiquetas HTML <HEAD>, <BODY> ni <FORM>. En lugar de ello, estas
4 Creación de controles de usuario
Controles de usuario y Al igual que los formularios Web Forms tienen páginas de código subyacente,
sus páginas asociados los controles de usuario también tienen una página de código subyacente
de código subyacente asociada. La directiva @ Page se utiliza en los formularios Web Forms para
asociar una página de código subyacente, mientras que la directiva @ Control
se utiliza para hacer referencia a una página de código subyacente desde una
página de control de usuario. La directiva @ Control sólo puede utilizarse con
controles de usuario, y únicamente podemos incluir una directiva @ Control
por cada archivo .ascx. Por ejemplo, para hacer referencia a una página de
código subyacente de un control de usuario denominada WebUserControl1, en
un proyecto de aplicación Web denominado test, utilizamos la siguiente
directiva @ Control:
Visual Basic .NET <%@ Control Language="vb" Codebehind="WebUserControl1.ascx.vb"
Inherits="test.WebUserControl1" %>
Control de usuario Un control de usuario es distinto de un control de servidor Web. Los controles
frente a control de de servidor Web no sólo incluyen controles de tipo formulario, como botones y
servidor Web cuadros de texto, sino también controles específicos como calendarios, etc.
Nota Para más información sobre los controles de servidor Web, ver el
Módulo “Crear un formulario Web Form con Microsoft ASP.NET”.
Creación de controles de usuario 5
Page3.aspx
Page1.aspx
Page2.aspx
***************************** ******************************
Introducción Son varias las ventajas de utilizar controles de usuario en nuestras aplicaciones
Web ASP.NET. Los controles de usuario son autocontenidos, pueden utilizarse
muchas veces y pueden escribirse en un lenguaje distinto al de la página
principal que los hospeda.
Ventajas de utilizar Los controles de usuario se utilizan para numerosas utilidades, como crear
controles de usuario encabezados y barras de navegación, y para repetir bloques de código en un
proyecto de aplicación Web.
Compartir controles de Un único control de usuario puede ser compartido por todas las páginas de una
usuario aplicación Web. Sin embargo, las páginas .aspx de una aplicación Web no
pueden hospedar un control de usuario de otra aplicación Web. Para utilizar un
control de usuario en varias aplicaciones Web, el control de usuario debe
copiarse a la carpeta raíz del directorio virtual de cada aplicación Web.
Para compartir controles entre múltiples aplicaciones Web, también podemos
crear un control Web personalizado, que actúa como un control de usuario
compartible. Los controles Web personalizados son más difíciles de crear que
los controles de usuario, ya que, a diferencia de los controles de usuario, los
controles Web personalizados no pueden crearse utilizando las herramientas
visuales de Visual Studio .NET; de este modo, todo el desarrollo debe realizarse
únicamente por código.
Nota Para más información sobre controles de usuario y los controles Web
personalizados, ver “Controles de usuario Web y controles Web
personalizados” en la documentación de Visual Studio .NET.
Creación de controles de usuario 7
Los estudiantes:
z Crearán una lista de ejemplos sobre
cuándo resulta apropiado el uso de
controles de usuario
Tiempo: 5 minutos
***************************** ******************************
Introducción En esta práctica, generaremos una lista de ideas en las que podríamos utilizar
controles de usuario y compartiremos estos ejemplos con el resto de la clase.
Pensar en cuatro ejemplos en los que un control de usuario simplifique el
desarrollo de páginas Web
________________________________________________________________
________________________________________________________________
8 Creación de controles de usuario
***************************** ******************************
Uso de las propiedades En los procedimientos de evento en la página host, podemos acceder a las
Get y Set propiedades del control de usuario agregando declaraciones para el control de
usuario. El siguiente código muestra declaraciones para dos controles de
usuario numberbox:
Visual Basic .NET Protected num1 As numberbox
Protected num2 As numberbox
C# num1.pNum = 5;
num2.pNum = 7;
10 Creación de controles de usuario
***************************** ******************************
Introducción En esta demostración, crearemos un control de usuario con Visual Studio .NET.
El código completo para esta demostración se encuentra en el archivo
numberbox.ascx del proyecto Demo07VB o Demo07CS, que se pueden
encontrar dentro del fichero demos07.zip.
***************************** ******************************
Introducción Después de crear un control de usuario, éste puede ser utilizado por otras
páginas de la misma aplicación Web. En esta lección, aprenderemos a crear
controles de usuario.
Objetivos de la lección En esta lección, aprenderemos a:
Crear un control de usuario.
Convertir un formulario Web Form existente en un control de usuario.
Creación de controles de usuario 13
Public
Public Property
Property pNum()
pNum() As
As Integer
Integer public
public int
int pNum
pNum
Get
Get {{
Return
Return Convert.ToInt32(txtNum.Text)
Convert.ToInt32(txtNum.Text) get
get
End
End Get
Get {{
Set
Set (ByVal
(ByVal value
value As
As Integer)
Integer) return
return
txtNum.Text
txtNum.Text == CStr(value)
CStr(value) Convert.ToInt32(txtNum.Text);
Convert.ToInt32(txtNum.Text);
End
End Set
Set }}
End
End Property
Property set
set
{{
txtNum.Text
txtNum.Text ==
Convert.ToString(value);
Convert.ToString(value);
}}
}}
***************************** ******************************
Nota Para más información sobre los atributos soportados por las directivas
@ Page y @ Control, ver “Sintaxis de directivas” en la documentación de
Visual Studio .NET.
Página host La página host es el formulario Web Form que incluirá el control de usuario.
Esta página debería estar en modo de presentación de flujo para evitar
solapamientos entre el contenido del control de usuario y el contenido de la
página.
La página host no tiene acceso directo a los elementos de la interfaz de usuario
que están en un control de usuario. Por tanto, utilizamos propiedades públicas
en un control de usuario para exponer los elementos de la interfaz de usuario
que se encuentran en el control de forma que el host puede utilizar los
elementos de la interfaz de usuario.
Por ejemplo, si un control de usuario está formado por dos cuadros de texto,
necesitaríamos una propiedad para cada cuadro de texto para que la página host
pueda leer y escribir el valor de cada cuadro de texto.
El siguiente código es la parte HTML de un control de usuario Visual Basic
.NET que incluye un cuadro de texto y dos controles de validación de entrada
de datos:
Creación de controles de usuario 15
Para exponer los valores del cuadro de texto en el host, debemos crear una
propiedad pública. Por ejemplo, el siguiente código de la página de código
subyacente crea una propiedad denominada pNum. La propiedad pNum
expone la propiedad Text del control del cuadro de texto en el control de
usuario:
Visual Basic .NET Public Property pNum() As Integer
Get
Return CInt(txtNum.Text)
End Get
Set(ByVal Value As Integer)
txtNum.Text = Value.ToString()
End Set
End Property
***************************** ******************************
Introducción En esta demostración, veremos cómo utilizar un control de usuario desde una
página host.
El código completo para la demostración de Visual Basic .NET se encuentra en
el archivo Demo07VB\afteruser.aspx.
El código completo para la demostración de Visual C# se encuentra en el
archivo Demo07CS\afteruser.aspx.
Ambos archivos pueden encontrarse dentro del fichero demos07.zip.
C# if (!Page.IsPostBack)
txtNum1.Text = "0";