Tutorial de formularios web ASP.NET: ejemplos de controles de usuario
En ASP.Net, es posible crear cรณdigo reutilizable. El cรณdigo reutilizable se puede utilizar en muchos lugares sin necesidad de escribir el cรณdigo nuevamente.
El cรณdigo reutilizable ayuda a reducir la cantidad de tiempo que dedica el desarrollador despuรฉs de escribir el cรณdigo. Se puede hacer una vez y reutilizar en varios lugares.
Crear control de usuario en ASP.Net
ASP.Net tiene la capacidad de crear controles web. Estos controles contienen cรณdigo que se puede reutilizar. Se puede utilizar en todas las aplicaciones segรบn los requisitos.
Echemos un vistazo a un ejemplo de cรณmo podemos crear un control de usuario web en ASP.Net.
En nuestro ejemplo,
- Vamos a crear un control web.
- Se utilizarรก para crear un componente de encabezado.
- Contendrรก el texto que se menciona a continuaciรณn.Guru99 TutorialesโEste tutorial es para ASP.Netโ
Trabajemos con nuestra aplicaciรณn web actual creada en las secciones anteriores. Sigamos los pasos a continuaciรณn para crear un control de usuario web.
Paso 1) El primer paso es crear un control de usuario web y agregarlo a nuestra soluciรณn de Visual Studio.
- Vaya al Explorador de soluciones en Visual Studio y haga clic con el botรณn derecho en la soluciรณn DemoApplication
- Elija el elemento del menรบ Agregar->Nuevo elemento
Paso 2) En el siguiente paso, debemos elegir la opciรณn de crear un control de usuario web.
- En el cuadro de diรกlogo del proyecto, podemos ver varias opciones para crear distintos tipos de componentes. Haga clic en la opciรณn โWebโ en el lado izquierdo.
- Cuando hacemos clic en la opciรณn "Web", verรก una opciรณn para "Control de usuario de formularios web". Haga clic en esta opciรณn.
- Luego le damos un nombre al control web โGuru99Controlโ.
- Por รบltimo, haga clic en el botรณn "Agregar" para permitir que Visual Studio agregue el control de usuario web a nuestra soluciรณn.
Verรกs el โGuruSe agregรณ "99Control" a la soluciรณn.
Paso 4) Ahora es el momento de agregar el cรณdigo personalizado al control de usuario web. Nuestro cรณdigo se basarรก en la sintaxis HTML pura. Agregue el siguiente cรณdigo al 'GuruArchivo '99Control.ascx'
<table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for</td> </tr> </table>
Code Explicaciรณn:-
- En nuestro archivo de Control web, primero estamos creando un elemento de tabla. Esto se usarรก para contener 2 filas de texto que se usarรกn para mostrar
- "Guru99 tutorialesโ y
- "Este tutorial es para ASP.Net".
- A continuaciรณn, definimos nuestra primera fila de la tabla y colocamos el texto como โGuru99 tutoriales.
- Luego definimos nuestra segunda fila de la tabla y ponemos el texto como "Este tutorial es para ASP.Net".
NOTA: Ahora no podemos ejecutar este cรณdigo y mostrar el resultado. La รบnica forma de ver si esto funciona es incluirlo en nuestra aplicaciรณn (archivo aspx). Veremos esto en el tema siguiente.
Registro de controles de usuario en formularios web ASP.NET
En la secciรณn anterior, vimos cรณmo podemos crear un control web personalizado. Esto se puede utilizar para mostrar las dos lรญneas siguientes en un formulario web
- "Guru99 tutorialesโ
- "Este tutorial es para ASP.Net".
Una vez creado el "control" personalizado, debemos usarlo en nuestra aplicaciรณn web. El primer paso es registrar el componente en nuestra aplicaciรณn (Demo.aspx). Este es el requisito previo para utilizarlo en cualquier control web personalizado en una aplicaciรณn ASP.Net.
Veamos cรณmo podemos lograrlo. Los pasos siguientes son una continuaciรณn de la secciรณn anterior. En la secciรณn anterior, hemos creado nuestro control personalizado. En esta secciรณn, usaremos el control en nuestro Demostraciรณn.aspx formulario web.
Primero, registraremos nuestro "control" personalizado en el archivo Demo.aspx.
Paso 1) Asegรบrese de estar trabajando en el archivo demo.aspx. Es en este archivo donde se registrarรก el control de usuario web. Esto se puede hacer haciendo doble clic en el archivo demo.aspx en el explorador de soluciones de su soluciรณn .Net.
Una vez que haga doble clic en el formulario, probablemente verรก el cรณdigo que aparece a continuaciรณn. Este es el cรณdigo predeterminado que agrega Visual Studio cuando se agrega un formulario web a un proyecto ASP.Net.
El cรณdigo predeterminado consta de pasos necesarios para garantizar que el formulario pueda ejecutarse como un formulario web ASP.Net en el navegador.
Paso 2) Ahora agreguemos nuestro cรณdigo para registrar el control de usuario. La siguiente captura de pantalla muestra el registro del control de usuario en el cรณdigo bรกsico anterior.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <%@ Register Src="~/Guru99Control.ascx" TagName="WebControl" TagPrefix="TWebControl"%> <!DOCTYPE html> <html xmlns="http://www.w3.ore/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="forml" runat="serverโ> <TWebControl:WebControl ID="Header" runat="server" /> </form> </body> </html>
Code Explicaciรณn:-
- El primer paso es registrar el control de usuario web. Esto se compone de los siguientes parรกmetros bรกsicos.
- La palabra clave "Registrar" se utiliza para registrar el control de usuario web.
- El parรกmetro src se utiliza para definir el nombre del control, que en nuestro caso es Guru99Control.ascx.
- El nombre de etiqueta y el prefijo de etiqueta son nombres individuales que se le dan al control. Esto se hace para que puedan hacer referencia en pรกginas HTML como un control HTML normal.
- A continuaciรณn, hacemos referencia a nuestro control de usuario web a travรฉs de TagPrefix:TagName que se asignรณ anteriormente. TagPrefix:TagName es un indicador de que queremos usar nuestro control web personalizado. Cuando la pรกgina es procesada por el servidor web, puede ver que hemos usado la etiqueta TWebControl:WebControl. Luego procesarรก el 'Guru99Control' en consecuencia. En nuestro ejemplo, es TWebControl:WebControl.
- Se proporciona una identificaciรณn opcional al control de "Encabezado". Generalmente es una buena prรกctica dar un ID a un control HTML.
- Por รบltimo, el atributo runat=server para que el control se ejecute en el servidor web. Para todos los controles ASP.Net, este es el atributo predeterminado. Todos los controles ASP.Net (incluidos los controles personalizados) deben ejecutarse en el servidor. Su salida se envรญa luego desde el servidor al cliente y se muestra en el navegador en consecuencia.
Cuando se configura el cรณdigo anterior y el proyecto se ejecuta usando Visual Studio. Obtendrรก el siguiente resultado.
Salida:-
El mensaje de salida que se muestra en el navegador muestra que el control de usuario web se ejecutรณ correctamente.
Registro de controles asp.net globalmente en el archivo de configuraciรณn web asp
A veces es posible que desee utilizar controles de usuario en varias pรกginas de una aplicaciรณn .Net. En este punto, no desea seguir registrando controles de usuario en todas y cada una de las pรกginas ASP.Net.
- En .Net puedes realizar el registro en el archivo โweb.configโ.
- El archivo web.config es un archivo de configuraciรณn comรบn utilizado por todas las pรกginas web del proyecto .Net.
- Contiene los detalles de configuraciรณn necesarios para el proyecto web ASP.Net. Por ejemplo, una configuraciรณn comรบn en el archivo web.config es la siguiente: parรกmetro del marco de destino.
- Este parรกmetro se utiliza para identificar la versiรณn de .Net framework utilizada por la aplicaciรณn.
A continuaciรณn se muestra una instantรกnea del cรณdigo predeterminado en el archivo web.config. La parte resaltada es la parte del marco de destino.
Veamos cรณmo podemos registrar nuestro Guru99Control en el archivo web.config.
Paso 1) Abra el archivo web.config desde el explorador de soluciones haciendo doble clic en el archivo.
Al abrir el archivo web.config, es posible que vea la siguiente configuraciรณn. Visual Studio agrega automรกticamente el archivo 'web.config' cuando se crea el proyecto. Esta es la configuraciรณn bรกsica necesaria para que el proyecto ASP.Net funcione correctamente.
Paso 2) Ahora registremos nuestro componente en el archivo web.config. Necesitamos agregar las siguientes lรญneas para eso.
<configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <pages> <controls> <add tagPrefix="TWebControl" src ="~/Guru99Control.ascx" tagName="WebControl"/> </controls> </pages> </system.web> </configuration>
El registro consta de los siguientes subpasos.
- Agregue una etiqueta llamada . Significa que toda la configuraciรณn de los controles serรก aplicable a todas las pรกginas ASP.Net de la soluciรณn.
- La etiqueta significa que estรก agregando una configuraciรณn para el control de usuario.
- Luego registramos el control de usuario con la etiqueta adicional. Los parรกmetros restantes de tagPrefix, tagName y src siguen siendo los mismos que antes.
Paso 3) Recuerda ir a la pรกgina 'demo.aspx' y eliminar las lรญneas de control, que tenรญan el registro de la Guru99 componentes. Si no realiza este paso, entonces el 'GuruEl archivo '99Control.ascx' se ejecutarรก desde el archivo 'demo.aspx' en lugar del archivo 'web.config'.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <%@ Register Src="~/Guru99Control.ascx" TagName="WebControl" TagPrefix="TWebControl"%> <!DOCTYPE html> <html xmlns="http://www.w3.ore/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="serverโ> <TWebControl:WebControl ID="Header" runat="server" /> </form> </body> </html>
Se configura el cรณdigo anterior y se ejecuta el proyecto mediante Visual Studio. Obtendrรก el siguiente resultado.
Salida:-
El mensaje de salida muestra que el control de usuario web se ejecutรณ correctamente.
Agregar propiedades pรบblicas a un control web
Una propiedad es un par clave-valor asociado con cualquier control. Tomemos un ejemplo de la etiqueta HTML simple. A continuaciรณn se muestra una captura de pantalla de cรณmo se ve la etiqueta.
<html> <body> <div style="color:#0000FF"> Demo Form </div> <body> </html>
La etiqueta 'div' se utiliza para crear una secciรณn en un documento HTML. La etiqueta 'div' tiene una propiedad llamada propiedad de estilo. Esta se puede utilizar para dar un estilo diferente al texto que se muestra en la etiqueta div. Normalmente, verรก el cรณdigo para la etiqueta div como se muestra a continuaciรณn.
<div style="color:#0000FF">
Entonces, el atributo de color no es mรกs que un par clave-valor que brinda mรกs informaciรณn sobre la etiqueta en sรญ. En el caso anterior, el nombre de la clave es "estilo" y el valor de la clave es "color:#0000FF".
De manera similar, para los controles de usuario, puede crear sus propias propiedades que describan el control.
Tomemos un ejemplo sencillo y desarrollemos nuestro 'Guru99Control' creado en las secciones anteriores.
En nuestro ejemplo, vamos a agregar una propiedad de nรบmero entero simple llamada MinValue. Este valor representarรญa la cantidad mรญnima de caracteres en el texto que se muestra en el control de usuario.
Llevemos a cabo los pasos que se mencionan a continuaciรณn para implementar esto.
Paso 1) Abra la GuruArchivo 99Control.ascx. Agregue el cรณdigo para aรฑadir la propiedad MinValue.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <script runat="server"> public int MinValue = 0; </script> <table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for </tr> </table>
Code Explicaciรณn:-
El atributo script runat=server se utiliza para indicar que estamos agregando algรบn cรณdigo especรญfico de .Net y que debe ejecutarse en el servidor web.
Esto es necesario para procesar cualquier propiedad agregada al control de usuario. Luego agregamos nuestra propiedad MinValue y le damos un valor predeterminado de 0.
Paso 2) Ahora hagamos referencia a esta propiedad en nuestro archivo demo.aspx. Todo lo que estamos haciendo ahora es simplemente hacer referencia a la propiedad MinValue y asignar un nuevo valor de 100.
!DOCTYPE html> <html xmlns="http://www.w3.ore/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="serverโ> <TWebControl:WebControl ID="Header" runat="server" MinValue="100"/> </form> </body> </html>
NOTA: โ Cuando ejecute este cรณdigo, no mostrarรก ningรบn resultado. Esto se debe a que la salida cae por debajo del lรญmite de 100 caracteres.
Resumen
- ASP.Net tiene la capacidad de crear controles de usuario. Los controles de usuario se utilizan para tener cรณdigo que se usa varias veces en una aplicaciรณn. Luego, el control de usuario se puede reutilizar en toda la aplicaciรณn.
- El control de usuario debe registrarse en la pรกgina ASP.Net antes de poder utilizarlo.
- Para utilizar el control de usuario en todas las pรกginas de una aplicaciรณn, regรญstrelo en el archivo web.config.
- Tambiรฉn se pueden agregar propiedades a un control de usuario web.


















