Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
NET
ndice
Descripcin Leccin: Crear formularios Web Forms . Leccin: Uso de controles de servidor
1 1 8
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Descripcin
Introduccin En este mdulo, estudiaremos cmo crear y poblar formularios Web Forms. Los formularios Web Forms son pginas Web programables que sirven como interfaz de usuario (IU) para un proyecto de aplicacin Web utilizando ASP.NET. Un formulario Web Form presenta informacin al usuario visualizable en cualquier tipo de navegador, e implementa lgica de aplicacin utilizando cdigo ejecutable en el servidor. Objetivos En este mdulo, aprenderemos a: Agregar un formulario Web Form a un proyecto de aplicacin Web ASP.NET. Utilizar el Cuadro de herramientas de Microsoft Visual Studio .NET para agregar controles de servidor a un formulario Web Form.
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
las pginas se mantiene en el servidor. Esta divisin entre IU y cdigo aumenta el nmero de navegadores soportados e incrementa la seguridad y funcionalidad de la pgina Web. Extensin .aspx Los formularios Web Forms se denominan habitualmente pginas ASP.NET o pginas ASPX. Los formularios Web Forms tienen una extensin .aspx y funcionan como contenedores para el texto y los controles que deseamos mostrar en el navegador. Las pginas ASP.NET (.aspx) y Active Server Pages (ASP) (.asp) pueden coexistir en el mismo servidor. La extensin del archivo determina si la pgina la procesa ASP o ASP.NET. Los formularios Web Forms estn frecuentemente formados por dos archivos distintos: el archivo .aspx contiene la IU para el formulario Web Form, mientras que el archivo .aspx.vb o .aspx.cs, denominado pgina de cdigo subyacente, contiene el cdigo de soporte. Atributos de la pgina Las funciones de un formulario Web Form estn definidas por tres niveles de atributos. Los atributos de pgina definen las funciones globales, los atributos de cuerpo definen cmo se mostrar una pgina y los atributos de formulario definen cmo se procesarn los grupos de controles. La etiqueta <@Page> define atributos especficos de la pgina que utiliza el parseador de pginas ASP.NET y el compilador. nicamente podemos incluir una etiqueta < @ Page> por archivo .aspx. Los siguientes ejemplos son etiquetas <@ Page> tpicas para Microsoft Visual Basic .NET y para Microsoft Visual C# .NET: Visual Basic .NET
<%@ Page Language="vb" Codebehind="WebForm1.aspx.vb" SmartNavigation="true" %>
C#
<%@ Page Language="c#" Codebehind="WebForm1.aspx.cs" SmartNavigation="true" %>
Los atributos de una etiqueta <@ Page> incluyen: Language El atributo Language define el lenguaje en el que est escrito el script de la pgina Web. Algunos de los valores de este atributo son: vb, c# y JScript. Pgina Codebehind El atributo de pgina Codebehind identifica la pgina de cdigo subyacente que tiene la lgica que soporta el formulario Web Form. Cuando Visual Studio .NET crea un formulario Web Form, como WebForm1.aspx, tambin crea una pgina de cdigo subyacente, WebForm1.aspx.vb o WebForm1.aspx.cs. Nota: Para ms informacin sobre las pginas de cdigo subyacente, consultar el Mdulo Agregar cdigo a un formulario Web Form con Microsoft ASP.NET. SmartNavigation El atributo SmartNavigation de ASP.NET permite al navegador actualizar nicamente las secciones del formulario que han cambiado. Las ventajas de SmartNavigation son que la pantalla
Crear Formularios en Web Form con Microsoft ASP.NET
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
no parpadea mientras se actualiza; en lugar de ello, se mantiene la posicin de desplazamiento y se mantiene la "ltima pgina" en el historial. Smartnavigation nicamente est disponible para los usuarios con Microsoft Internet Explorer 5 o superior. Atributos del cuerpo Los atributos de la etiqueta <Body> definen el aspecto de los objetos que se muestran en el navegador del cliente. La siguiente es una etiqueta <Body> tpica: <body ms_positioning="GridLayout"> Los atributos de una etiqueta <Body> incluyen: PageLayout: El atributo pageLayout (etiquetado como ms_positioning) determina cmo se posicionan los controles y el texto en la pgina. Existen dos opciones para pageLayout: FlowLayout: En FlowLayout, el texto, las imgenes y los controles fluyen por la pantalla, dependiendo del ancho de la ventana del navegador. GridLayout: En GridLayout, los campos de texto, las imgenes y los controles de una pgina estn fijados por coordinadas absolutas. GridLayout es el valor de pageLayout predeterminado para Visual Studio .NET. El siguiente cdigo de ejemplo muestra cmo implementar GridLayout y situar un cuadro de texto:
<body ms_positioning="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:textbox id="txtField1" style="Z-INDEX: 101; LEFT: 65px; POSITION: absolute; TOP: 98px" runat="server" Height="26px" Width="194px"> </asp:textbox> </form> </body>
Atributos del formulario La etiqueta <Form> define cmo se procesarn los grupos de controles. La etiqueta <Form> es diferente del trmino Web Form utilizado para definir la pgina Web completa. Los atributos de la etiqueta <Form> definen cmo se procesarn los controles. Aunque podemos tener muchos formularios HTML en una pgina, nicamente podemos tener un formulario del lado del servidor en una pgina .aspx. El siguiente ejemplo es de una etiqueta <Form> tpica:
<form id="Form1" method="post" runat="server"> ... </form>
Method: El atributo Method identifica el mtodo para enviar valores de control de retorno al servidor. Las opciones de este atributo son: 4
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Post: Los datos se pasan en pares nombre/valor dentro del cuerpo de la peticin HTTP (Hypertext Transfer Protocol). Get: Los datos se pasan en una cadena de consulta.
Runat: Una de las principales caractersticas de un formulario Web Form es que los controles se ejecutan en el servidor. El atributo runat="server" hace que el formulario publique informacin de control de retorno a la pgina ASP.NET en el servidor donde se ejecuta el cdigo de soporte. Si el atributo runat no est establecido en "server", el formulario funciona como un formulario HTML normal.
Ejemplo con Visual Basic .NET El siguiente cdigo procede del formulario Web Form predeterminado de Visual Studio .NET al crear un nuevo proyecto de aplicacin Web ASP.NET con Visual Basic .NET:
<%@Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="Wepplication1.WebForm1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>WebForm1</title> <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.1"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.1"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </head>bA <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> ' HTML y controles aqu </form> </body> </html>
Ejemplo de C#
El siguiente cdigo procede del formulario Web Form predeterminado de Visual Studio .NET al crear un nuevo proyecto de aplicacin Web ASP.NET con Visual C#:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>WebForm1</title> <meta name="GENERATOR" Content="Microsoft Visual Studio 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </head> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> 'HTML y controles aqu </form> </body> </html>
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
4. Cuando se nos pregunte si deseamos crear un nuevo archivo de clase, hacer clic en S.
***************************** use******************************
Un modo rpido de crear pginas Web ASP.NET es convertir las pginas HTML existentes.
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
10. En la pgina HTMLPage.aspx, observamos que se ha aadido una directiva @Page a la pgina. 11. Hacer clic en Mostrar todos los archivos en el Explorador de soluciones para mostrar la pgina de cdigo subyacente que se ha creado. 12. Hacer clic en Guardar para guardar el proyecto. 13. Hacer clic con el botn derecho sobre HTMLPage.aspx en el Explorador de soluciones, clic en Generar y examinar para generar el proyecto y visualizar la pgina en el navegador de Visual Studio .NET. Debemos generar el proyecto puesto que Visual Studio .NET necesita compilar la nueva pgina de cdigo subyacente. 14. Escribir un nombre en el cuadro de texto Nombre, hacer clic en una profesin en la lista Profession y hacer clic en Guardar. Cuando se muestre la pgina de nuevo, la informacin en los controles se habr perdido. Es el comportamiento predeterminado de los formularios HTML. 15. Hacer clic con el botn derecho en la pgina y clic en Ver fuente para mostrar el HTML fuente en el cliente. El HTML enviado al cliente es el mismo que el HTML creado en el servidor.
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
**************************** use******************************
En esta leccin, estudiaremos cmo utilizar controles de servidor ASP.NET, como botones, cuadros de texto y listas desplegables. Estos controles de servidor son diferentes de los controles HTML en los que la lgica de soporte se ejecuta en el servidor y no en el navegador del usuario. Objetivos de la leccin: En esta leccin, aprenderemos a: Describir las caractersticas de los controles de servidor. Describir los tipos de controles de servidor disponibles. Explicar cmo los formularios Web Forms guardan el control de servidor Web ViewState. Agregar controles de servidor HTML a formularios Web Forms. Agregar controles de servidor Web a formularios Web Forms. Seleccionar el control adecuado para una determinada situacin.
Qu es un control de servidor?
Introduccin Los controles de servidor ASP.NET son componentes que se ejecutan en el servidor y encapsulan la IU y dems funcionalidades relacionadas. Los controles de servidor se utilizan en pginas ASP.NET y en las clases de cdigo subyacente. Los controles de servidor incluyen botones, cuadros de texto y listas desplegables. El siguiente ejemplo es el de un control de servidor Button: <asp:Button id="Button1" runat="server" Text="Submit" /> Runat=server: Los controles de servidor tienen un atributo runat="server", el mismo atributo que los formularios Web Forms. Esto significa que la lgica del control se ejecuta en el servidor y no en el navegador del usuario. Los controles de servidor se diferencian de los controles HTML en que stos ltimos nicamente se ejecutan en el navegador del cliente y no realizan ninguna accin en el servidor. Otra caracterstica de los controles de servidor es que el estado de la vista, las opciones de configuracin y la entrada de datos de usuario en el control se guardan automticamente cuando la pgina viaja entre el cliente y el servidor. Los controles HTML tradicionales no tienen
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
estado y vuelven a su configuracin predeterminada cuando la pgina retorna del servidor al cliente. Funcionalidad incluida La funcionalidad de un control es lo que se produce cuando el usuario hace clic en un botn o en un cuadro de lista. A estos procesos se denominan procedimientos de eventos. Como programadores del formulario Web Form, debemos determinar los procedimientos de eventos asociados a cada control de servidor. Nota: Para ms informacin sobre la funcionalidad del control de servidor, consultar el Mdulo Agregar cdigo a un formulario Web Form con Microsoft ASP.NET. Modelo de objetos comn: En ASP.NET, los controles de servidor se basan en un modelo de objetos comn, y por tanto, comparten varios atributos entre s. Por ejemplo, cuando deseamos establecer el color de fondo de un control, siempre utilizamos el mismo atributo BackColor, independientemente del control. El cdigo HTML siguiente del botn de un control de servidor Web muestra algunos de los atributos tpicos de un control de servidor: <asp:Button id="Button1" runat="server" BackColor="red" Width="238px" Height="25px" Text="Web control"></asp:Button> Crear cdigo HTML especfico del navegador Cuando un navegador interpreta una pgina, los controles de servidor Web determinan el tipo de navegador que solicita la pgina, y enva el cdigo HTML adecuado. Por ejemplo, si el navegador soporta scripting de cliente, como Internet Explorer versin 4.0 o posterior, los controles generan scripts de cliente para implementar su funcionalidad. Sin embargo, si el navegador no soporta scripting de cliente, los controles crean cdigo del lado del servidor y requieren ms viajes de ida y vuelta al servidor para obtener el mismo comportamiento. El siguiente ejemplo es el cdigo HTML de ASP.NET en un formulario Web Form que deberamos escribir para crear un cuadro de texto con el texto predeterminado: "Introduzca su nombre de usuario" <asp:TextBox id="TextBox1" runat="server" Width="238px" Height="25px">Introduzca su nombre de usuario</asp:TextBox> Cuando un usuario con Internet Explorer 6 accede a esta pgina, el CLR crea el siguiente cdigo HTML personalizado para Internet Explorer 6: <input name="TextBox1" type="text" value="Introduzca su nombre de usuario" id="TextBox1" style="height:25px;width:238px" /> Como el control de servidor crea cdigo HTML personalizado en funcin de las caractersticas disponibles en el navegador del cliente, podemos escribir cdigo para las ltimas versiones de navegadores sin tener que preocuparnos de que los usuarios que no estn actualizados puedan ser bloqueados por errores del navegador.
Crear Formularios en Web Form con Microsoft ASP.NET
10
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
11
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Nota: Para ms informacin sobre los controles enlazados a listas y el acceso a datos, consultar el Mdulo Acceso a datos relacionales utilizando Microsoft Visual Studio .NET, y el Mdulo Acceso a datos con Microsoft ADO.NET. Controles Web de Internet Explorer: Los controles Web de Internet Explorer son un conjunto de controles complejos, como MultiPage, TabStrip, Toolbar y TreeView, que pueden descargarse desde Internet e integrarse en el entorno de Visual Studio .NET para ser reutilizados en cualquier aplicacin Web con ASP.NET. Estos controles pueden ser interpretados en todos los navegadores utilizados habitualmente, y al mismo tiempo aprovechan las potentes caractersticas soportadas por las versiones de Internet Explorer 5.5 o superior. Podemos descargar estos controles desde: http://msdn.microsoft.com/library/default.asp?url=/workshop/webcontrols/o verview/overview.asp.
Ejemplo de controles equivalentes Este ejemplo muestra el cdigo HTML de tres controles de tipo botn: un botn HTML, un botn de control de servidor HTML y un botn de control de servidor Web. Todos los controles botn parecen idnticos en el navegador del usuario. El botn HTML nicamente puede invocar eventos del lado del cliente, mientras que el botn de control de servidor HTML y el botn de control de servidor Web producen eventos del lado del servidor. El siguiente es el cdigo de un control de botn HTML: <INPUT type="button" value="HTML Button"> Si agregamos el atributo runat="server" el control de botn HTML anterior se convierte en un control de servidor HTML que se ejecutar en el servidor. Adems del atributo runat="server", tambin debemos agregar un atributo id para que el control funcione como un control de servidor. El botn de control de servidor HTML se muestra en el siguiente ejemplo: <INPUT type="button" value="HTML Server Control" id="button1" runat="server"> El botn de control de servidor Web utiliza cdigo HTML de ASP.NET: <asp:Button id="Button1" runat="server" Text="Web control"/>
12
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Los formularios Web Forms ASP.NET gestionan este problema de almacenamiento del estado del control de servidor Web agregando un control oculto denominado _VIEWSTATE que registra el estado de los controles en el formulario Web Form. Concretamente, _VIEWSTATE se aade al formulario del lado del servidor indicado por la etiqueta <Form runat="server">, y nicamente registra el estado de los controles en esta seccin. Mientras la pgina viaja desde el cliente al servidor, el estado del control de servidor Web se almacena con la pgina y puede actualizarse en cualquier extremo de la transaccin (en el cliente o el servidor). Como el estado de la pgina Web se guarda dentro del formulario del servidor, la pgina Web puede ser aleatoriamente enrutada en una granja de servidores Web y no necesita volver al mismo servidor. La ventaja del proceso _VIEWSTATE es que el programador puede concentrarse en el diseo de la pgina y no necesita generar la infraestructura necesaria para realizar el seguimiento del estado de la misma. Control oculto: El control _VIEWSTATE es un control oculto que contiene el valor de una cadena de pares nombre-valor que lista el nombre de cada control y el ltimo valor de ese control. Con cada peticin, el control _VIEWSTATE se actualiza y se enva al servidor. La respuesta del servidor puede a su vez actualizar el control _VIEWSTATE, que se devuelve con la respuesta. El resultado es que la configuracin de la pgina permanece coherente de una solicitud a la siguiente. El siguiente ejemplo incluye el cdigo HTML generado por un formulario Web Form y enviado al cliente: <form name="Form1" method="post" action="WebForm1.aspx" id="Form1"> <input type="hidden" name="__VIEWSTATE" value="dDw3NzE0MTExODQ7Oz4=" /> 'HTML aqu </form> Deshabilitar y habilitar ViewState: De forma predeterminada, un formulario Web Form guarda el estado de la vista de los controles en el formulario Web Form. Para formularios Web Forms con mltiples controles, el tamao del campo valor de las propiedades _VIEWSTATE puede ralentizar el rendimiento. Para maximizar el rendimiento de la pgina, podemos deshabilitar el atributo ViewState a nivel de pgina y habilitar ViewState nicamente para determinados controles. Para deshabilitar el almacenamiento del estado de la vista a nivel de pgina Web, estableceremos el atributo EnableViewState de la directiva @Page, como se muestra en el siguiente cdigo: <%@ Page EnableViewState="False" %> Para habilitar el almacenamiento del estado de la vista de un control especfico, estableceremos el atributo EnableViewState del control, como se muestra en el siguiente cdigo:
13
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
<asp:ListBox id="ListName" EnableViewState="true" runat="server"></asp:ListBox> Nota: Para ms informacin sobre guardar el estado, consultar el Mdulo Gestionar el estado.
***************************** use****************************** Visual Studio .NET facilita la conversin de controles HTML en controles de servidor.
14
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
11. Introducir informacin en los controles y hacer clic en Guardar. Ahora, los controles guardan sus valores. Agregar una etiqueta al formulario Web Form: 12. Editar la pgina y agregar un control de servidor Web Label al formulario Web Form, debajo del botn Guardar: <asp:label id="lblMessage" runat="server">Label</asp:label> 13. Guardar los cambios y visualizar la pgina en el navegador. 14. Visualizar el cdigo fuente de la pgina. El control de servidor Web Label genera un elemento <span>. 15. Cerrar la vista del cdigo fuente HTML en el navegador. Uso de SmartNavigation: 16. Visualizar la pgina http://localhost/Demos03/HTMLPage.aspx en Internet Explorer y modificar el tamao del navegador para que muestre verticalmente menos que la pgina completa. La barra de desplazamiento vertical debera estar visible. 17. Desplazarse hacia abajo y hacer clic en Guardar. Seremos redirigidos a la parte superior de la pgina debido al postback. 18. Cerrar el navegador. 19. Editar la pgina en la vista HTML y agregar SmartNavigation= "true" a la directiva @ Page. El cdigo HTML debera ser parecido al siguiente: Visual Basic .NET <%@ Page SmartNavigation="true" Language="vb" CodeBehind="HTMLPage.aspx.vb" AutoEventWireup="false" Inherits="Mod04.HTMLPage" %> C# <%@ Page SmartNavigation="true" Language="c#" CodeBehind="HTMLPage.aspx.cs" AutoEventWireup="false" Inherits="Mod04.HTMLPage" %> 20. Guardar los cambios y visualizar la pgina en otro navegador cuyo tamao se haya modificado. 21. Desplazarse hacia abajo y hacer clic en Guardar. Esta vez, no somos redireccionados a la parte superior de la pgina durante el postback, la pgina mantiene su posicin actual. 22. Visualizar el cdigo fuente de la pgina en el navegador. En Internet Explorer 4.0 y posterior, el atributo SmartNavigation crea IFrames para actualizar nicamente la parte modificada de la pgina. 23. Cerrar la vista del cdigo fuente HTML en el navegador.
Crear Formularios en Web Form con Microsoft ASP.NET
15
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
16
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Los controles de servidor Web intrnsecos corresponden a elementos HTML simples. La siguiente tabla muestra algunos de los controles de servidor Web intrnsecos utilizados ms habitualmente.
Controles del servidor Web <asp:button> <asp:checkbox> <asp:hyperlink> <asp:image> <asp:imagebutton> <asp linkButton> <asp:label> <asp:listbox> <asp:panel> <asp:radiobutton> <asp:table> <asp:textbox> Control HTML equivalente <input type=submit> <input type=checkbox> <a href=""> </a> <img src=""> <input type=image> Ninguno <span> </span> <select size="5"> </select> <div> </div> <input type=radiobutton> <table> </table> <input type=text> Funcin del Control de Servidor Web Crea un botn que enva una peticin al servidor. Crea una casilla de verificacin que puede seleccionarse haciendo clic. Crea un hiperenlace a una etiqueta anchor HTML. Crea un rea que se utiliza para mostrar una imagen. Crea un botn que incorpora la visualizacin de una imagen en lugar de texto. Crea un botn que tiene el aspecto de un hiperenlace. Crea texto que los usuarios no pueden modificar. Crea una lista de opciones. Permite mltiples selecciones. Crea una divisin sin bordes en el formulario que se utiliza como contenedor para otros controles. Crea un nico control de botn de opcin. Crea una tabla. Crea un control de cuadro de texto.
Controles de validacin: Los controles de validacin son controles ocultos que validan la entrada de datos del usuario comparndolos con patrones predeterminados. La siguiente tabla muestra algunos de los controles de validacin que se utilizan ms habitualmente.
Control CompareValidator CustomValidator RangeValidator RegularExpressionValidator RequiredFieldValidator ValidationSummary Funcin Requiere que la entrada concuerde con una segunda entrada o campo existente. Requiere que la entrada concuerde con una condicin como que sean nmeros primos o impares. Requiere que la entrada concuerde con un intervalo especificado. Requiere que la entrada concuerde con un formato especificado como un nmero de telfono de un determinado pas o una contrasea que tenga nmeros y letras. Requiere que el usuario introduzca algn valor antes de que el control sea procesado. Recopila todos los mensajes de error de los controles de validacin para una visualizacin centralizada.
17
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Nota: Para ms informacin sobre los controles de validacin, consultar el Mdulo Validar la entrada de datos del usuario.
Controles ricos estndares: Los controles estndares proporcionan una rica funcionalidad a nuestro formulario Web Form insertando funciones complejas. La siguiente tabla muestra los controles ricos disponibles actualmente.
Control Funcin
AdRotator Calendar
RangeValidator RegularExpressionValidator RequiredFieldValidator ValidationSummary
Muestra una secuencia (predefinida o aleatoria) de imgenes. Muestra un calendario grfico en el que los usuarios pueden seleccionar fechas. Requiere que la entrada concuerde con un intervalo especificado. Requiere que la entrada concuerde con un formato especificado como un nmero de telfono de un determinado pas o una contrasea que tenga nmeros y letras.
Requiere que el usuario introduzca algn valor antes de que el control sea procesado. Recopila todos los mensajes de error de los controles de validacin para una visualizacin centralizada.
Controles enlazados a listas: Los controles enlazados a listas pueden mostrar datos desde una fuente de datos. La siguiente tabla muestra algunos de los controles de lista que se utilizan habitualmente.
Control Funcin
DataList
Muestra una secuencia (predefinida o aleatoria) de imgenes. Muestra un calendario grfico en el que los usuarios pueden seleccionar fechas. Muestra datos como una columna de casillas de verificacin. Muestra informacin desde un conjunto de datos utilizando el conjunto de elementos y controles HTML que especifiquemos. El control Repeater repite el elemento una vez por cada registro delDataSet. Similar al control Repeater, pero con ms opciones de formato y presentacin, incluyendo la posibilidad de mostrar informacin en una tabla. El control DataList tambin nos permite especificar el comportamiento de edicin. Muestra informacin, normalmente enlazada a datos en forma tabular, con columnas. Tambin proporciona mecanismos para permitir editar y clasificar. Muestra datos en un men desplegable Muestra datos en una ventana. Muestra datos en una columna de botones de opcin.
18
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Nota: Para ms informacin sobre los controles enlazados a listas y el acceso a datos, consultar el Mdulo Acceso a datos con Microsoft ADO.NET.
Prctica A: identificar el cdigo HTML generado por los controles de servidor Web
En esta prctica, agregaremos controles de servidor Web a un formulario Web Form y visualizaremos el cdigo fuente en un navegador para determinar qu cdigo HTML se ha enviado al cliente.
aplicacin
Web
establecer
la
ubicacin
en
19
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Introduccin: Cuando creamos pginas ASP.NET, tenemos la opcin de utilizar controles de servidor HTML o controles de servidor Web. Podemos mezclar estos tipos de controles en la misma pgina para actualizar rpidamente una pgina HTML. Como ejemplo de mezcla de tipos de controles, nuestra pgina ASP.NET podra incluir un elemento HTML que listase la hora local, un botn basado en un control de servidor HTML convertido a partir de un elemento HTML, y un control de servidor basado en una caja de texto Web que acceda a datos desde el servidor. Lo mejor es evitar los controles de servidor HTML. Los controles de servidor Web tienen mayor capacidad y un modelo de objetos ms rico que los controles de servidor HTML. Controles de servidor HTML: Los controles de servidor HTML son elementos HTML modificados que se ejecutan en el servidor en lugar de en el navegador cliente. Utilizar controles de servidor HTML si: Se prefiere un modelo de objetos como HTML. Los controles de servidor HTML tienen prcticamente el mismo cdigo HTML que los controles HTML bsicos. Los controles de servidor HTML tambin tienen funcionalidad del lado del servidor como los controles de servidor Web. Se est trabajando con pginas HTML existentes y se desea agregar rpidamente funcionalidad incorporada en un formulario Web Form. Debido a que los controles de servidor HTML se mapean exactamente a elementos HTML, no es necesario reemplazar los controles y arriesgarse a tener errores de sustitucin o problemas de formato de pgina. El control necesita ejecutarse tanto utilizando scripting del lado del cliente como del lado del servidor. Podemos escribir un script del lado del cliente y trabajar con un control HTML normal ya que los controles estn visibles en el cliente. Al mismo tiempo, podemos tener cdigo del lado del servidor, ya que tambin es un control de servidor. El ancho de banda es limitado y se necesita realizar una gran cantidad de procesamiento en el cliente para reducir el uso del ancho de banda.
Controles de servidor Web Los controles de servidor Web de ASP.NET no slo son equivalentes a los controles HTML, sino que tambin incluyen varios controles nuevos que no existen en HTML. Utilizar controles de servidor Web si:
Crear Formularios en Web Form con Microsoft ASP.NET
20
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
Se prefiere un modelo de programacin como Visual Basic. Se podr utilizar programacin orientada a objetos, identificar controles por su atributo ID y separar fcilmente la lgica de pgina de la lgica del interfaz de usuario. Con los controles de servidor Web, tambin pueden crearse aplicaciones con controles anidados y capturar eventos a nivel de contenedor. Se est creando una pgina Web que puede ser visualizada en diversos navegadores. Como la lgica de los controles de servidor Web puede crear cdigo HTML adaptado a las caractersticas disponibles en el navegador del cliente, podemos escribir para los navegadores ms recientes sin necesidad de preocuparse de que los errores de navegador no permitan a los usuarios menos actualizados acceder a todas las funciones de la pgina Web. Se necesitan funcionalidades especficas, como calendario o anuncios, o rotacin de publicidad, disponibles nicamente como controles de servidor Web. El ancho de banda no est limitado y los ciclos de peticin-respuesta de los controles de servidor Web no causan problemas de ancho de banda.
**************************** use******************************
En esta demostracin, veremos cmo agregar controles de servidor Web a un formulario Web Form.
21
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
1. Abrir la pgina WebForm1.aspx del proyecto de aplicacin Web Mod04. 2. Agregar un control de servidor TextBox, Button y Label a la pgina WebForm1.aspx. 3. Utilizando la ventana Propiedades, establecer las propiedades ID y Text de los controles a los valores en la siguiente tabla:
4. Visualizar la pgina en vista HTML. El formulario Web Form ha sido creado con el atributo runat="server", y los atributos style se han agregado a los controles para ubicarlos en el formulario Web Form en modo GridLayout. Observar cmo se han implementado las propiedades ID y Text en HTML para los distintos controles. 5. Generar y examinar WebForm1.aspx. 6. Introducir texto en el cuadro de texto y hacer clic en Submit para mostrar que el valor se conserva. 7. Visualizar la fuente de la pgina. Observar que el posicionamiento de los controles se realiza utilizando DHTML. 8. Cerrar la vista de la fuente de la pgina. Cambiar el navegador de destino 1. Hacer clic con el botn derecho sobre el formulario en la vista Diseo y hacer clic en Propiedades. 2. Cambiar Target Schema a Internet Explorer 3.02 / Navigator 3.0, y hacer clic en Aceptar. 3. Guardar los cambios y visualizar la pgina de nuevo en el navegador. 4. Visualizar el cdigo fuente de la pgina. Ahora, el posicionamiento de los controles se realiza utilizando tablas HTML. 5. Cerrar la vista de fuente de la pgina.
22
Universidad Nacional, Sede Regin Brunca, Escuela de Informtica Programacin IV, I Semestre Ao 2012
6. Hacer clic con el botn derecho sobre el formulario en vista Diseo y hacer clic en Propiedades. 7. En el cuadro de dilogo Pginas de propiedades, volver a establecer Target Schema como Internet Explorer 5.0. Cambiar la presentacin de la pgina 1. En el cuadro de dilogo Pginas de propiedades, seleccionar FlowLayout (en lugar de GridLayout) en el campo Page Layout, y hacer clic en Aceptar. La cuadrcula desaparece. 2. Agregar un control Button al formulario Web, y visualizar la pgina en vista HTML. El nuevo botn no tiene un atributo style. Agregar un control Calendar 1. En la vista Diseo, agregar un control de servidor Web Calendar en el formulario Web Form, y visualizar la pgina en vista HTML. Localizar el cdigo HTML para el control Calendar: <asp:Calendar id="Calendar1" runat="server"></asp:calendar> 2. Guardar los cambios y visualizar la pgina en el navegador y, a continuacin, visualizar el cdigo fuente de la pgina. Observar el HTML generado por el control Calendar. 3. Cerrar la vista de fuente de la pgina. 4. Editar la pgina WebForm1 y ver las propiedades del control Calendar en la ventana Propiedades. 5. Hacer clic con el botn derecho en el control Calendar en el formulario Web Form en la vista Diseo y seleccionar Formato automtico para mostrar los diferentes estilos del cuadro de dilogo Formato automtico de Calendar. Hacer clic en Colorful 1, y clic en Aceptar. 6. Guardar los cambios y visualizar la pgina de nuevo en el navegador para ver el nuevo aspecto del control Calendar.
23