ASP .NET Framework 3.5

of 449 /449
A Apli icac co cio on . la WEB M ne .NE MC s ET 3 CTS: Web 3.5 : b 5 www.depurando.com 1

Embed Size (px)

Transcript of ASP .NET Framework 3.5

AApliicaccocioon .TemElequeinteen la WEBMne.NEma emeneeiviMCsET3ntosienCTS:Web3.5sen:b5www.uepuianuo.com 1Tema Elementos que inteivienen en la Web Tema Elementos queinteivienen en la Web Pioceso ueComunicacionEl proceso de comunicacin entre el navegador y el servidor a travs del protocoloHTTP se puede resumir de la siguiente forma:1. El explorador Web inicia una peticin de un recurso a un servidor Web.2. HTTP se utiliza para enviar la solicitud GET al servidor Web.3. El servidor Web procesa la solicitud.4. El servidor Web enva una respuesta al navegador Web. Protocolo HTTP se utilizapara enviar la respuesta HTTP al navegador Web.5. El navegador web procesa la respuesta, y muestra la pgina Web.6. El usuario introduce los datos y realiza una accin, como hacer clic en un botn"Enviar" que hace que los datos se envan de vuelta al servidor Web.7. HTTP se utiliza para enviar los datos al servidor.8. El servidor Web procesa los datos.9. El servidor Web enva la respuesta al navegador Web.10. HTTP se utiliza para enviar la respuesta HTTP al navegador Web.11. El navegador web procese la respuesta, y muestra la pgina Web.Servidor WebLos servidores Web son responsables de la recepcin y tramitacin de las solicitudes de losnavegadores a travs de HTTP. Cada servidor Web maneja la solicitud y enva una respuesta alnavegador Web. Despus de eso, el servidor Web cierra la conexin y todos los recursosliberados que haban participado en la solicitud. Todos los recursos fueron liberados debido aque el servidor Web debe ser capaz de manejar miles de solicitudes por minuto, y el originalson simples pginas web, pginas HTML estticas.Ningn dato se conserva de la respuesta entre el servidor web y el navegador y la conexin secierra despus de enviar la respuestawww.uepuianuo.com 2Tema Elementos que inteivienen en la WebAdems de servir archivos HTML, los servidores Web tambin pueden tramitar las solicitudesde pginas que contienen cdigo que se ejecutar en el servidor.Tambin tienen la capacidad de almacenar datos a travs de las solicitudes depginas Web, loque significa que las pginas Web pueden estar conectadas para formar aplicaciones web.Debido a que muchos sitios Web estn configurados como aplicaciones Webque contiene muchas pginas web, la idea de que un servidor Web entrega una sola pginapara el navegador Web y el cierre de la conexin es bastante anticuado.El navegador WebEl navegador Web proporciona una plataforma independiente de la plataforma paramostrarpginas web que fueron escritas con HTML. El explorador Web tambin tiene que mostrar lasimgenes y responder a los hipervnculos. Cada solicitud de una pgina web al servidorprovoca el refresco de la pantalla del navegador y su sustitucin por la nueva pgina web.Aunque el papel del explorador Web es simplemente presentar los datos y la recogida dedatos, existen nuevas tecnologas del lado del cliente que permiten a los navegadores webejecutar cdigo, como JavaScript y AJAX , sin necesidad de refrescar la pgina web actual. Estastecnologas permiten una experiencia de usuario mucho mejor y ms robusta que laexperiencia de usuario proporcionada por de los navegadores Web primitivos.www.uepuianuo.com STema Elementos que inteivienen en la WebHTTP, Protocolo de Transferencia de HipertextoHTTP en el protocolo de comunicacin basado en texto que se utiliza para solicitar las pginasWeb del servidor Web y enviar las respuestas de vuelta al navegador Web. Mensajes HTTPsuelen ser mensajes enviados entre el servidor Web y el navegador Web usando el puerto 80,o, cuando se utiliza HTTP seguro (HTTPS), el puerto 443Cuando una pgina Web se solicita, un texto como el siguiente comando se enva al servidorWebGET /default.aspx HTTP/1.1Host: www.northwindtraders.comLa primera lnea contiene el mtodo, tambin conocido como un verbo o un comando,llamado GET, y es seguido por la URL, de la pgina Web para ser recuperado, que es seguidopor un indicador de la versin de HTTP para ser utilizado. El mtodo indica qu accin sellevar a cabo por el servidor Web utilizando la direccin URL que sigue el mtodo.La segunda lnea identifica el nombre del host que puede ser utilizado por el servidor Web si elservidor Web sirve ms de un sitio Web. Este proceso se conoce como el uso de encabezadosde host para identificar el sitio Web que se encargar de la peticin (s).Mtodo SignificadoGET Devuelve el recurso identificado en la URL pedida. HEADFunciona como el GET, pero sin que el servidor devuelva el cuerpo del mensaje. Es decir, slo se devuelve la informacin de cabecera. POSTIndica al servidor que se prepare para recibir informacin del cliente. Suele usarse para enviar informacin desde formularios. PUTEnva el recurso identificado en la URL desde el cliente hacia el servidor. OPTIONS Pide informacin sobre las caractersticas de comunicacin proporcionadas por el servidor. Le permite al cliente negociar los parmetros de comunicacin. TRACE Inicia un ciclo de mensajes de peticin. Se usa para depuracin y permite al cliente ver lo que el servidor www.uepuianuo.com 4Tema Elementos que inteivienen en la Webrecibe en el otro lado. DELETE Solicita al servidor que borre el recurso identificado con el URL. CONNECTEste mtodo se reserva para uso con proxys. Permitir que un proxy pueda dinmicamente convertirse en un tnel. Por ejemplo para comunicaciones con SSL. El objeto Request representa la comunicacin desde el navegador al Servidor solicitando unrecursoEl objeto Response representa la respuesta del servidor al navegadorHTTP/1.1 200 OKServer: MicrosoftIIS/6.0ContentType: text/htmlContentLength: 38Hello, world.La primera lnea contiene el protocolo, la versin del protocolo, un cdigo de estado y la razn.Los posibles cdigos de estado se identifican con nmeros de tres cifras y se clasifican en cincogrupos:1. Nmeros del estilo 1XX que representan mensajes de tipo informativo.2. Nmeros del estilo 2XX que indican que se complet satisfactoriamente la solicitud delcliente.3. Nmeros del estilo 3XX que indican que la solicitud fue redirigida.4. Nmeros del estilo 4XX que indican un error en la solicitud del cliente.5. Nmeros del estilo 5XX que indican un error en el lado del servidor.Cdigo Significado200 OKLa solicitud del cliente fue satisfactoria y el servidor ha devuelto la informacin solicitada. 204 No Content El cuerpo de la respuesta no tiene contenido. Esto puede indicar, por ejemplo, un problema con un CGI que no devuelve datos. 301 Moved PermanentlyEl URI solicitado no est disponible en el servidor. Ha sido movido a otra ubicacin. Las solicitudes futuras debern hacerse a esa ubicacin.400 Bad RequestHay un error de sintaxis en la solicitud del cliente. Por ejemplo mandar una solicitud indicando que el cliente soporta HTTP/1.1 y no www.uepuianuo.com STema Elementos que inteivienen en la Webenviar el encabezado de Host. 404 Not FoundEste es junto con el 200 OK, el cdigo ms habitual. Indica que el documento solicitado no est disponible, probablemente el URI haya sido mal escrito. 500 Internal Server Error Este mensaje indica que algo ha ido mal en el servidor, casi siempre tiene que ver con problemas en programas CGI. La segunda lnea de la respuesta indica el tipo de servidor web. La tercera lnea indica el tipode recurso que est siendo enviado al navegador web. Este indicador es el tipo MIME. En estecaso el fichero es un fichero de texto HTML esttico. El tipo MIME es una designacin de dospartes "tipo / subtipo", en el que la primera parte es el tipo de recurso y la segunda parte es elsubtipo de recursosEl registro de los tipos MIME los controla la IANA (Internet Asigned Numbers Authority) segnlo especificado en el RFC 2048 [102], y en su sitio Web podemos obtener la lista completa yactualizada de los tipos registrados. Es importante el registro de tipos MIME, esto asegura quedos tipos de contenido distintos no acaban con el mismo nombre. El prefijo especial x quedareservado para tipos experimentales (desplegados sin que haya terminado el proceso deregistro) o tipos de uso interno de organizaciones, por ejemplo:image/xfwfEl protocolo HTTP usa tipos MIME en sus encabezados, por ejemplo para:x Informar al cliente el tipo de datos que est recibiendo del servidor. Esto se hace conel encabezado ContentType . Por ejemplo, un navegador tpico puede manejar losdatos de tres maneras distintas segn el tipo MIME indicado en ContentType :1. Visualizar el documento, por ejemplo con tipos text/html .2. Llamar a una aplicacin externa, por ejemplo con tipos application/pdf .3. O preguntarle al usuario que hacer ante un tipo que no se entiende, porejemplo image/xfwf .x Permitir la negociacin de contenido. El cliente, en su peticin incluye los tipos MIMEque acepta. Por ejemplo, un navegador puede soportar documentos de tipoapplication/zip , lo indicar con el encabezado HTTP:x Allow: application/zipx Encapsular una o ms entidades dentro del cuerpo de mensaje, mediante los tiposMIME multipart (definidos en el RFC 2046 [100]). Quiz el ejemplo ms conocido sea eltipo:x multipart/formdatawww.uepuianuo.com 6Tema Elementos que inteivienen en la WebEl tipo multipart/formdata ha sido definido en el RFC 1867 [96] para encapsular los datos deun formulario en su envo hacia el servidor mediante el mtodo POST.Tipo MIME Descripcintext Informacin de texto. No se requieresoftware especial para obtener el significadocompleto del texto. Un subtipo es plain, loque significa que el texto se puede leer sinnecesidad de software adicional. Otrossubtipos son HTML y XML, que indican el tipode archivo apropiadoimage Los datos de la imagen. Requiere undispositivo de pantalla (por ejemplo, ungrfico o una impresora de grficos) para verla informacin. Subtipos se definen dosformatos de imagen ampliamente utilizado,jpeg y gifaudio Datos de audio. Requiere un dispositivo desalida de audio (como un altavoz oauriculares) para "or" los contenidos. Unprimer subtipo llamado basic se define deeste tipo.video Datos de vdeo. Requiere la capacidad paramostrar imgenes en movimiento, por logeneralincluyendo hardware y softwareespecializados. Un primer subtipollamado MPEG se define para este tipoapplication Otros tipos de datos, normalmente nointerpretadosya sea binaria o deinformacin de datos para ser procesados poruna aplicacin.El registro contiene una lista de tipos MIME:HKEY_CLASSES_ROOT\MIME\Database\Content Type.Despus de la lnea con el tamao del contenido, la respuesta enva el mensaje.Enviando datos de formulario al ServidorLa etiqueta HTML se puede utilizar para crear un formulario Web que recoge datos yenva los datos al servidor Web. Un uso tpico de etiqueta es el siguiente

Enter Customer ID:

www.uepuianuo.com 7Tema Elementos que inteivienen en la WebHay dos mtodos HTTP que se pueden utilizar para enviar el formulario de datos de vuelta alservidor Web: GET y POST. Cuando el verbo GET se usa, el que contiene los datos deQueryString se adjunta a la direccin URL. La QueryString es una coleccin de estados clave =valor, separados por ampersand (&),los caracteres que se pueden pasar al servidor Webconcatenando un signo de interrogacin (?) a la final de la URL y, a continuacin,concatenando la QueryString como sigueGET /getCustomer.aspx?Id=123&color=blue HTTP/1.1Host: www.northwindtraders.comUna de las ventajas de utilizar el verbo GET es que la QueryString URL es enviada completay puede ser vista y modificada en la barra de direcciones del explorador Web, segn seanecesario.Dependiendo de la situacin, esto tambin podra ser una desventaja. La URL completa yQueryString son fciles de guardar como una unidad.Una desventaja es que el QueryString tiene un tamao limitado por el navegador Web y elservidor Web que se utilice. Por ejemplo, cuando se utiliza Microsoft Internet Explorer e IIS, ellmite es de 1024 caracteres. Otra consideracin es que puede que no desea permitir que unusuario escriba la direccin URL y QueryString directamente en la barra de direcciones sinnavegar por otras pginas Web en primer lugar.Cuando se usa el mtodo POST. Los datos se colocan en el cuerpo del mensaje como sigue:POST /getCustomer.aspx HTTP/1.1Host: www.northwindtraders.comId=123&color=blueCon el mtodo POST se elimina la limitacin de tamao en los datos, se han probado con hasta10 MB. Este mtodo no permite al usuario simplemente escribir los datos ya que estos datosse esconden en el cuerpo del mensaje. En la mayora de escenarios es el mtodo msconveniente de enviar datos al servidor.Una pgina Web ASP.NET contiene una propiedad denominada IsPostBack que se utiliza paradeterminar si los datos se envan de vuelta al servidor Web o si la pgina Web es simplementeque se solicita.1. What is the name of the Web page property that you can query to determine that a Web page is being requested without data being submitted? (Choose one.)A. FirstGetB. InitializedC. IncludesDataD. IsPostBackwww.uepuianuo.com 8AApliicaccocioon .TeCieWenuPgMne.NEema eai Sieb y AevasginasMCsET3itioAauisCTS:Web3.5ii:b5www.uepuianuo.com 9Tema Cieai Sitio Web y Aauii nuevas Pginas Tema Cieai Sitio Web y Aauiinuevas PginasDesarrollar aplicaciones Web ASP.NET sobre el .NET Framework es similar a desarrollaraplicaciones Windows. El componente fundamental de ASP.NET es el formulario Web Form.Un formulario Web Form es la pgina Web que los usuarios visualizan en un navegador. Unaaplicacin Web ASP.NET consta de uno o ms formularios Web Form. Un Web Form es unapgina dinmica que puede acceder a recursos del servidor.Por ejemplo, una pgina Web tradicional puede ejecutar scripts en el cliente para realizartareas bsicas. En cambio, un formulario Web Form ASP.NET tambin puede ejecutar cdigoen el lado servidor para acceder a una base de datos, generar formularios Web Formsadicionales, o aprovechar la seguridad incorporada en el servidor.Adems, como un formulario Web Form ASP.NET no depende de utilizar scripts en el cliente,no depende del tipo de navegador del cliente o del sistema operativo. Esta independenciapermite desarrollar un nico formulario Web Form que puede ser visualizado prcticamenteen todos los dispositivos que dispongan de acceso a Internet y de un navegador Web.Debido a que ASP.NET forma parte del .NET Framework, podemos desarrollar aplicacionesWeb ASP.NET en cualquier lenguaje basado en .NET.La tecnologa ASP.NET tambin permite la creacin de servicios Web XML. Los servicios WebXML son aplicaciones distribuidas que utilizan XML para transferir informacin entre clientes,aplicaciones y otros servicios Web XML.www.uepuianuo.com 1uTema Cieai Sitio Web y Aauii nuevas PginasAplicacinWeb de ASP.NETUna aplicacin Web ASP.NET contiene distintas partes y componentes. Crear aplicaciones WebASP.NET implica utilizar y trabajar con todos ellosFormularios Web Forms o pginas .aspxLos formularios Web Forms y las pginas .aspx proporcionan la interfaz de usuario para laaplicacin Web.Pginas con cdigo traseroLas pginas con cdigo trasero estn asociadas a los formularios Web Forms y contienen elcdigo del servidor para el formulario Web Form.Archivos de configuracinLos archivos de configuracin son archivos XML que definen la configuracin predeterminadapara la aplicacin Web y para el servidor Web. Cada aplicacin Web tiene un archivo deconfiguracin Web.config. Adems, cada servidor Web tiene un archivo machine.config.Archivo Global.asaxLos archivos Global.asax contienen el cdigo necesario para responder a los eventos a nivel deaplicacin provocados por ASP.NET.www.uepuianuo.com 11Tema Cieai Sitio Web y Aauii nuevas PginasEnlaces a servicios Web XMLLos enlaces a servicios Web XML permiten a la aplicacin Web enviar y recibir datos de unservicio Web XML.Conectividad a bases de datosLa conectividad a bases de datos permite a la aplicacin Web transferir datos desde y haciafuentes de base de datos.CachEl uso de cach permite a la aplicacin Web devolver ms rpidamente formularios WebForms y datos tras la primera peticin.Proceso de una solicitudCuando el cliente solicita una pgina Web por primera vez, se genera el siguiente conjuntode eventos:1. El navegador cliente enva una solicitud GET HTTP al servidor.2. El parseador ASP.NET interpreta el cdigo fuente.3. Si el cdigo no se ha compilado todava en una biblioteca de enlace dinmico (DLL), ASP.NETinvoca el compilador.4. El CLR carga y ejecuta el cdigo Microsoft intermediate language (MSIL)Cuando el usuario invoca la misma pgina Web por segunda vez, se genera el siguienteconjunto de eventos:1. El navegador cliente enva una solicitud GET HTTP al servidor.2. El CLR carga y ejecuta inmediatamente el cdigo MSIL que ya se ha compilado durante elprimer intento de acceso del usuario.Creando un sitio webEn la primera parte del tutorial, crear un sitio web de ASP.NET con una pginapredeterminada. Este sitio web ser un sitio web de sistema de archivos que no requiereMicrosoft Internet Information Services (IIS). Esto permite crear y ejecutar la pgina desde elsistema de archivos local de su equipo.Para crear un sitio web de sistema de archivos1. Abra Visual Web Developer.2. En el men Archivo, haga clic en Nuevo sitio Web.Aparece el cuadro de dilogo Nuevo sitio Web, como se muestra en la siguiente ilustracin.www.uepuianuo.com 12Tema Cieai Sitio Web y Aauii nuevas Pginas3. En Plantillas instaladas de Visual Studio, haga clic en Sitio Web ASP.NET.4. En el cuadro Ubicacin, seleccione la casilla Sistema de archivos y escriba el nombre dela carpeta donde desea guardar las pginas del sitio web.Por ejemplo, escriba el nombre de carpeta C:\Tasks.5. En la lista Lenguaje, haga clic en Visual Basic o Visual C# para seleccionar el lenguaje deprogramacin que utilizar en todo el proyecto web6. Haga clic en Aceptar.Visual Web Developer crea la carpeta y una pgina nueva denominada Default.aspx. De formapredeterminada, cuando se crea una nueva pgina, Visual Web Developer muestra la pginaen la vista Cdigo fuente, donde puede ver los elementos HTML de la pgina. La ilustracinsiguiente muestra una pgina web predeterminada en vista Cdigo fuente.www.uepuianuo.com 1STema Cieai Sitio Web y Aauii nuevas PginasVisita guiada por Visual Web DeveloperAntes de continuar, resultar til familiarizarse con el entorno de desarrollo de Visual WebDeveloper. La ilustracin siguiente muestra algunas de las ventanas y herramientas de VisualWeb Developer.Diagrama del entorno de Visual Web DeveloperExamine la ilustracin anterior y relacione el texto con la lista siguiente, que describe lasventanas y herramientas que se utilizan con ms frecuencia. (Aqu no se muestran todas lasventanas y herramientas disponibles, slo las marcadas en la ilustracin anterior.)www.uepuianuo.com 14Tema Cieai Sitio Web y Aauii nuevas Pginasx Barras de herramientas. Proporcionan los comandos que permiten dar formato altexto, buscar texto, etc. Algunas barras de herramientas slo estn disponibles cuandose trabaja en la vista Diseo.x Explorador de soluciones. Muestra los archivos y carpetas del sitio web.x Ventana Documento. Muestra los documentos en los que se est trabajando enventanas con fichas. Puede pasar de un documento a otro haciendo clic en las fichas.x Fichas de vistas. Presentan distintas vistas del mismo documento. La vista Diseo es unrea de edicin prcticamente WYSIWYG. La vista Cdigo fuente es el editor de lapgina que muestra el marcado. La vista en dos paneles muestra la vista Diseo y lavista Cdigo fuente del documento. Trabajar con las vistas Diseo y Cdigo fuentems adelante en este tutorial. Si prefiere abrir las pginas web en la vista Diseo, en elmen Herramientas haga clic en Opciones, seleccione el nodo Diseador HTML ycambie la opcin Iniciar pginas en.x Ventana Propiedades. Permite cambiar la configuracin de la pgina, los elementosHTML, los controles y otros objetos.x Ventana Propiedades de CSS. Muestra los estilos CSS actuales cuando la vista Diseoest activa.x Ventanas Administrar estilos y Aplicar estilos. Ayudan a controlar los estilos CSS delsitio web.x Cuadro de herramientas. Proporciona los controles y elementos HTML que se puedenarrastrar a una pgina. Los elementos del Cuadro de herramientas se agrupan porfuncionamiento comn.x Explorador de bases de datos. Muestra las conexiones de las bases de datos. Si no ve laventana Explorador de bases de datos en Visual Web Developer, en el men Ver, hagaclic en Otras ventanas y, a continuacin, haga clic en Explorador de bases de datos.Puede reorganizar, cambiar el tamao y acoplar las ventanas para adaptarlas a suspreferencias. El men Ver permite mostrar otras ventanas.Para recorrer el entorno de desarrollo1. En el men Ver, haga clic en Barras de herramientas.Se muestra un submen de barras de herramientas disponibles. Las barras de herramientasque estn seleccionadas actualmente aparecen con una casilla junto a ellas.2. Desplcese hasta el final de la lista de barras de herramientas y haga clic enPersonalizar.Se muestra el cuadro de dilogo Personalizar.3. Revise las barras de herramientas disponibles. Cuando termine, haga clic en Cerrar.www.uepuianuo.com 1STema Cieai Sitio Web y Aauii nuevas Pginas4. En el men Ver, haga clic en el Explorador de soluciones.Se mostrar la ventana Explorador de soluciones. De forma predeterminada, esta ventana seacopla en un lado del entorno de Visual Web Developer.5. En el Explorador de soluciones, haga clic con el botn secundario del mouse en elelemento superior de la lista de sitios.Se muestra un men de acceso directo con las operaciones de sitio web ms habituales.6. Presione ESC para cerrar el men de acceso directo.7. En el Explorador de soluciones, haga clic con el botn secundario del mouse en elarchivo Web.config y, a continuacin, haga clic en Abrir para abrir el archivo en laventana de documento.8. Haga doble clic en la pgina Default.aspx para abrirla en la ventana de documento.Hacer doble clic en un archivo es una alternativa a utilizar el comando Abrir del mende acceso directo.Observe que el nombre de cada pgina abierta se muestra en una ficha en la parte superior dela ventana de documento.9. En la parte inferior de la ventana de documento, haga clic en Dividir para mostrar vistaCdigo fuente y la vista Diseo al mismo tiempo.10.En el men Ver, haga clic en Ventana Propiedades.Se mostrar la ventana Propiedades.Al seleccionar un objeto en la ventana de documento, la ventana Propiedades muestra laspropiedades del objeto seleccionado.11.En el panel de vista Cdigo fuente, seleccione el elemento form y, a continuacin, enla ventana Propiedades, examine las propiedades disponibles.12.En el men Ver, haga clic en Cuadro de herramientas.Se mostrar la ventana Cuadro de herramientas.13.En vista Diseo, en la ficha Estndar del Cuadro de herramientas, arrastre un controlButton hacia el documento y colquelo en el elemento div.Observe que la vista Cdigo fuente se actualiza con el marcado correspondiente.14.En el men Ver, haga clic en Explorador de bases de datos.Se mostrar la ventana Explorador de bases de datos.15.Haga clic con el botn secundario del mouse en Conexiones de datos para ver lasopciones de bases de datos disponibles.www.uepuianuo.com 16Tema Cieai Sitio Web y Aauii nuevas PginasCrear una pgina web ASP.NETAl crear un nuevo sitio web, Visual Web Developer agrega una pgina web ASP.NET (pgina deformularios Web Forms) denominada Default.aspx. Puede utilizar la pgina Default.aspx comopgina principal de su sitio web. Sin embargo, en este tutorial, crear una nueva pgina ytrabajar con ella.Para agregar una pgina al sitio Web1. En la ventana de documento, haga clic con el botn secundario en la ficha de la pginaDefault.aspx y, a continuacin, haga clic en Cerrar.2. Si se le pide que guarde los cambios, haga clic en No.3. En el Explorador de soluciones, haga clic con el botn secundario en el sitio web, (porejemplo, C:\Tasks) y, a continuacin, haga clic en Agregar nuevo elemento.Se abrir el cuadro de dilogo Agregar nuevo elemento.4. En Plantillas instaladas de Visual Studio, haga clic en Web Forms.5. En el cuadro Nombre, escriba Home.aspx.6. En la lista Lenguaje, seleccione el lenguaje de programacin con el que desea trabajar(Visual Basic o C#).7. Desactive la casilla Colocar el cdigo en un archivo independiente.La ilustracin siguiente muestra el cuadro de dilogo Agregar nuevo elemento.www.uepuianuo.com 17Tema Cieai Sitio Web y Aauii nuevas Pginas8. Haga clic en Agregar.Visual Web Developer crea la nueva pgina. De forma predeterminada, la pgina se muestraen la vista Cdigo fuente.Agregar HTML a la pginaEn esta parte del tutorial, agregar texto esttico a la pgina.Para agregar texto a la pgina1. En la parte inferior de la ventana de documento, haga clic en la ficha Diseo para pasara la vista Diseo.2. En la pgina, escriba ToDo List.Ejecutar la pginaAntes de continuar, puede probar la pgina. Para ejecutar una pgina, necesita un servidorWeb. En un sitio web de produccin, se utiliza IIS como servidor web. Sin embargo, paraprobar una pgina puede utilizar el servidor de desarrollo de ASP.NET, que se ejecutalocalmente y no requiere IIS. En los sitios web de sistema de archivos, el servidor webpredeterminado de Visual Web Developer es el servidor de desarrollo de ASP.NET.Para ejecutar la pgina1. Presione CTRL+F5 para ejecutar la pgina.www.uepuianuo.com 18Tema Cieai Sitio Web y Aauii nuevas PginasVisual Web Developer inicia el servidor de desarrollo de ASP.NET. En la barra de herramientasde Windows aparece un icono que indica que el servidor web de Visual Web Developer se estejecutando, como se muestra en la ilustracin siguiente:La pgina se muestra en el explorador. Aunque la pgina creada tiene una extensin .aspx, seejecuta como cualquier pgina HTML.2. Cierre el explorador.Tipos de Sitios WebEn lugar de crear slo sitios Web que se ejecutan como aplicaciones de Servicios de Internet Information Server (IIS), ahora puede crear los tipos siguientes: xSitio Web del sistema de archivos Puede almacenar archivos en cualquier carpeta, y abrir y trabajar con cualquier coleccin de pginas Web, independientemente de dnde se encuentren. Una caracterstica importante es que no necesita tener IIS instalado para ejecutar las pginas de un sitio Web del sistema de archivos. En su lugar, puede probar los sitios Web utilizando el Servidor de desarrollo de ASP.NET, un servidor de pruebas poco complicado.xSitio Web de FTP Puede abrir y editar archivos de sitios Web utilizando el Protocolo de transferencia de archivos (FTP) directamente desde Visual Web Developer. xSitio Web de IIS local Puede seguir creando sitios Web que se ejecutan en la copia local de IIS, como lo haca con versiones anteriores de Visual Studio. Los sitios Web de IIS locales no requieren Extensiones de servidor de FrontPage. xSitio Web remoto Puede crear sitios Web que se ejecutan en IIS en un equipo distinto que est ejecutando Extensiones de servidor de FrontPage 2000 o extensiones de servidor FrontPage 2002. www.uepuianuo.com 19Tema Cieai Sitio Web y Aauii nuevas PginasCarpetas EspecialesComo en versiones anteriores de Visual Studio, las pginas Web se conservan en la raz delsitio Web y en subcarpetas, tal como sea necesario para la aplicacin. No obstante, el sitioWeb de Visual Web Developer puede contener las subcarpetas siguientes que tienencaractersticas concretas:x Carpeta App_Browsers Contiene archivos de definicin de exploradores que ASP.NETutiliza para identificar exploradores individuales y determinar sus funciones.x Carpeta App_Data Contiene bases de datos de Microsoft Access (archivos .mdb),archivos XML y otros datos almacenadas en archivos locales. La cuenta de usuario quese utiliza para ejecutar la aplicacin (por ejemplo, la cuenta ASPNET local) tienepermisos de lectura, escritura y creacin de archivos en esta carpeta. Varias funcionesde aplicacin ASP.NET, como proveedores para suscripciones y funciones, as como laherramienta Administracin de sitios Web, estn configuradas para trabajar con lacarpeta App_Data especficamente.x Carpeta Bin Contiene el cdigo compilado, como en versiones anteriores de VisualStudio. Se hace referencia automticamente a cualquier clase representada por elcdigo en la carpeta Bin del sitio Web.x Carpeta App_LocalResources Contiene archivos .resx enlazados a una pginadeterminada. Puede definir varios archivos .resx para cada pgina ya que cada archivo.resx representa un idioma o una combinacin de idioma/referencia cultural diferente.x Carpeta App_GlobalResource Igual que las carpetas App_LocalResources perocontiene archivos .resx que no estn enlazados a una pgina determinada. Se puedetener acceso a valores de recursos de archivos .resx en las carpetasApp_GlobalResource mediante programacin a partir del cdigo de aplicacin.x Carpeta App_Code Contiene archivos de cdigo fuente. El cdigo se compila comoparte de la aplicacin y se hace referencia a l automticamente. La carpeta App_Codefunciona como la carpeta Bin, salvo que se puede colocar cdigo fuente en lugar decdigo compilado. Mientras trabaja en Visual Web Developer, el cdigo fuente de lacarpeta App_Code se compila dinmicamente para que IntelliSense puede hacerreferencia a cualquier clase definida en los archivos.x Carpeta App_Themes Contiene una coleccin de archivos que definen el aspecto delas pginas Web y controles ASP.NET.x Carpeta App_Browsers Contiene archivos .browser que definen funciones delexplorador.x Carpeta App_WebReferences Contiene archivos que se utilizan para crear unareferencia a un servicio Web (en el mismo proyecto o externas al proyecto), incluidosarchivos .disco y .wsdl.www.uepuianuo.com 2uTema Cieai Sitio Web y Aauii nuevas PginasVisual Web Developer no crea de manera predeterminada estas carpetas, excepto la carpetaApp_Data. En algunos casos, hay utilidades que crean carpetas. Al ejecutar el comandoGenerar recurso local, por ejemplo, se crea la carpeta App_LocalResources. En otros casos,puede crear las carpetas manualmente.TEST1. If you want to create a Web site on a remote computer that does not have Front Page Server Extensions installed, which Web site type will you create? (Choose one.)A. Remote HTTPB. FileC. FTPD. Local HTTP2. If you want to create a new Web site on a Web server that is hosted by your ISP and the Web serverhasFrontPageServerExtensionsinstalled,whattypeofWebsitewouldyoucreate? (Choose one.)A. Local HTTPB. FileC. FTPD. Remote HTTP 3. If you want to separate your server-side code from your client-side code on a Web page, what programming model should you implement? (Choose one.)A. Separation modelB. Code-Behind modelC. In-Line modelD. ClientServer model4. Joe created a new Web site using Visual Studio2005, setting the Web site type to File, and theprogramminglanguagetoC#.Later,JoereceivedanelaborateWebpagefromhisvendor, which consisted of the Vendor.aspx file and the Vendor.aspx.vb code-behind page. What must Joe do to use these files? (Choose one.)A. Joe can simply add the files into the Web site, because ASP.NET 2.0 supports Web sites that have Web pages that were programmed with different languages.B. The Vendor.aspx file will work, but Joe must rewrite the code-behind page using C#.C. Both files must be rewritten in C#.D. Joe must create a new Web site that contains these files and set a Web reference to the new site.www.uepuianuo.com 21AApliicaccocioon .TeTiaconueCoWeMne.NEema abajan el finfiguebMCsET3anuoicheiuiacioCTS:Web3.5ioon:b5www.uepuianuo.com 22Tema Tiabajanuo con el ficheio ue Configuiacion Web Tema Tiabajai con el Ficheio ueConfiguiacion WebLos Sitios Web se han configurado sobre la base de una jerarqua de archivos de configuracinXML, como se muestra en la Figura 19. El primer archivo de configuracin es el archivoMachine.config. Este archivo se encuentra en la carpeta de configuracin de la versin de. NETFramework instalado en el equipo, y generalmente se encuentra en la siguiente ubicacin:%WINDIR%\Microsoft.NET\Framework\version\Config\machine.configEl archivo Machine.config contiene configuracinpara todo tipo de aplicaciones. NET, comoWindows, la consola, Librerias de Clases, y aplicaciones Web. Estos ajustes son globales a lamquina. Algunos de los ajustes en el archivo Machine.config pueden ser anulados por losajustes Web.config en archivos que estn en la jerarqua, mientras que otros son globalesLosglobales estn protegidos y no pueden ser anulados por los archivos Web.configEl siguiente archivo en la jerarqua es el principal archivo Web.config, que se encuentra en elmismo directorio que el archivo Machine.config. Este archivo contiene la configuracin Webpredeterminada del servidor, algunas de las cuales pueden anular los ajustes en el archivoMachine.config.En el directorio raz de cada sitio Web, usted tiene la posibilidad de aadir un archivoWeb.config. Este archivo es opcional y puede contener ajustes adicionales para el sitio Web,as como anular configuraciones. En cada aplicacin Web, tambin puede tener un archivoWeb.config para proporcionar ms opciones y ajustes. Por ltimo, cada subdirectorio en unaaplicacin Web Opcionalmente, puede tener un archivo Web.config en que slo unsubconjunto de las opciones es vlida.www.uepuianuo.com 2STema Tiabajanuo con el ficheio ue Configuiacion WebProcesar Ficheros de ConfiguracinCuando se ejecuta la aplicacin Web, en tiempo de ejecucin se crea una cach de laconfiguracin efectiva de la aplicacin Web por el anidamiento de las capas de los archivos deconfiguracin de la siguiente manera:1. Se recuperan los ajustes del archivo Machine.config2. La configuracin del archivo raz Web.config se aaden a la cach, sobrescribiendocualquier configuracin que se cre anteriormente.3. Si existe un archivo Web.config en la raz del sitio Web, este archivo se lee en lamemoria cach, sobrescribir las entradas existentes.4. Si existe un archivo Web.config en la aplicacin Web, que es ledo en la cach, tambinsobrescribe cualquier configuracin existente. El resultado de la cach contiene laconfiguracin de este sitio Web5. Si tiene subdirectorios en su aplicacin Web, los subdirectorios pueden tener unWeb.conifg archivo que incluye los ajustes que son especficos para los archivos ycarpetas que estn contenidas dentro de esta carpeta.Modificando el archivo de configuracinDebido a que son archivos XML, los archivos de configuracin se pueden abrir y modificar concualquier editor de texto o editor XML. Tambin puede usar el. NET Framework 2.0Configuracin complemento con la Microsoft Management Console (MMC), que proporcionauna interfaz grfica de usuario (GUI) para modificar algunos de los archivo de configuracin delos ajustes que un administrador puede querer cambiar.Visual Studio 2005 tambin proporciona el Sitio Web Herramienta de administracin, quepuede ser usado para modificar muchos de los ajustes de archivo de configuracin. Puedeacceder a esta herramienta mediante la seleccin de Sitio Web | ASP.NET Configuracin.La Herramienta de administracin del sitio Web permite editar las siguientes categoras de losarchivos de configuracin:x Seguridad Esta configuracin permite la configuracin de seguridad para su sitio web.En esta categora, puede agregar los usuarios, roles, y permisos para su sitio Web.x Configuracin de la Aplicacin esta categora se utiliza para modificar la configuracinde las aplicaciones.x Configuracin de Proveedor Este archivo contiene los ajustes de configuracin quepermiten especificar el proveedor de la base de datos a utilizar para el mantenimientode la composicin y funcioneswww.uepuianuo.com 24Tema Tiabajanuo con el ficheio ue Configuiacion WebEl Sitio Web Herramienta de administracin le permite crear y modificar la configuracin delsitio Web que no son hereditarios. Si una propiedad se hereda y no puede ser anulada,aparecer, pero ser atenuado cuando la configuracin est desactivada.www.uepuianuo.com 2STema Tiabajanuo con el ficheio ue Configuiacion Web

Test1. You want to make a configuration setting change that will be global to all Web and Windows applications on the current computer. Which file do you change? (Choose one.)A. Global.asaxB. Web.configC. Machine.configD. Global.asa2. YouwanttomakeaconfigurationsettingchangethatwillaffectonlythecurrentWeb application. Which file will you change? (Choose one.)A. Web.config that is in the same folder as the Machine.config fileB. Web.config in the root of the Web applicationC. Machine.configD. Global.asa3. YouwanttomakeaconfigurationsettingchangethatwillaffectonlythecurrentWeb application, and you want to use a tool that has a user-friendly Graphical User Interface (GUI). Which tool should you use? (Choose one.)A. The Microsoft Management UtilityB. Microsoft WordC. Visual Studio, using the | Tools | Options pathD. Web Site Administration Toolwww.uepuianuo.com 26AApliicaccocioon .TeTiASaMne.NEma azaiPNEMCsET3TCTS:Web3.5:b5www.uepuianuo.com 27Tema Tiazai ASPNET Tema 0sanuo Tiaza paiaExploiai Pginas WebSe puede utilizar para solucionar problemas y diagnosticar problemas con su sitio Web.Tambin puede utilizar la traza para explorar la utilizacin de recursos en cada pgina Web.Esta leccin se refiere a la habilitacin y configuracin de la traza y, a continuacin, analiza losdatos que son puestos a disposicin por la traza.Activar y Configurar TrazaLa traza se puede activar en el archivo Web.Config. Pero tambin se puede utilizar laHerramienta de administracind el Sitio Web para proporcionar una interfaz grfica fcil deusar para habilitar y configurar esta opcinAtributo Descripcin enabled Atributo Boolean opcional. www.uepuianuo.com 28Tema Tiazai ASPNETEspecifica si el seguimiento est habilitado o no para una aplicacin. Para poder utilizar el visor Trace.axd, el seguimiento debe estar habilitado. El valor predeterminado es false.localOnly Atributo Boolean opcional. Especifica si el visor de seguimiento (Trace.axd) slo est disponible en el servidor Web del host. Si es false, el visor de seguimiento est disponible en cualquier equipo. El valor predeterminado es true.mostRecent Atributo Boolean opcional. Especifica si se muestran los resultados de seguimiento de aplicacin ms recientes y se descartan los datos de seguimiento ms antiguos que superen los lmites indicados por requestLimit.Si es false, se muestran los datos de seguimiento de las solicitudes hasta alcanzar el valor del atributo requestLimit.Se trata de un atributo nuevo en .NET Framework, versin 2.0. El valor predeterminado es false.pageOutput Atributo Boolean opcional. Especifica si se debe mostrar el resultado del seguimiento al final de cada pgina. Si es false, el acceso al resultado del seguimiento slo es posible a travs de la herramienta de seguimiento. El valor predeterminado es false.requestLimit Atributo Int32 opcional. Especifica el nmero de solicitudes de seguimiento que deben almacenarse en el servidor. Si se alcanza el lmite y el atributo mostRecent es false, se deshabilita el seguimiento automticamente. El lmite mximo de la solicitud es 10.000. Si se especifica un valor superior, ASP.NET lo redondear automticamente a la baja hasta 10.000.El valor predeterminado es 10.traceMode Atributo TraceDisplayMode opcional. Especifica el orden en el que se mostrar la informacin de seguimiento.El atributo traceMode puede ser uno de los siguientes valores posibles:Valor DescriptionSortByCategory Especifica que la informacin de seguimiento se muestra en el orden en que se procesa. SortByTime Especifica que la informacin de seguimiento debe mostrarse ordenada alfabticamente por las categoras definidas por el usuario. El valor predeterminado es SortByTime.writeToDiagnosticsTrace Atributo Boolean opcional. Especifica si los mensajes de seguimiento de ASP.NET se han de reenviar a la infraestructura de seguimiento de System.Diagnosticspara que los agentes de escucha registrados muestren los mensajes de Trace. El valor predeterminado es false.

www.uepuianuo.com 29Tema Tiazai ASPNET

Si ha habilitado el seguimiento para la aplicacin, al solicitar cualquier pgina, sta reneinformacin de seguimiento y ejecuta cualquier instruccin de seguimiento que contenga.Puede ver el resultado del seguimiento en el visor de seguimiento. El visor de seguimientopermite elegir una solicitud especfica entre las pginas solicitadas a la aplicacin.Si se reciben mltiples solicitudes para una aplicacin que tiene habilitado el seguimiento, enel visor de seguimiento aparecen las solicitudes en el orden en que se procesaron. Lainformacin de la pgina inicial del visor de seguimiento incluye la hora de la solicitud, elarchivo solicitado, el cdigo de estado, el verbo HTTP asociado y un vnculo Ver detalles quepermite ver informacin ms detallada acerca de la solicitud. El nmero de solicitudesdisponibles no superar el lmite requestLimit especificado en el archivo Web.config.En la captura de pantalla siguiente se muestra un visor de seguimiento con las siete solicitudesenviadas a la aplicacin desde que se habilit el seguimiento.Para ver los detalles de seguimiento de una solicitud especfica 1. Desplcese a Trace.axd en la raz de la aplicacin.Por ejemplo, si la direccin URL de la aplicacin es http://localhost/SampleApplication, vaya a http://localhost/SampleApplication/trace.axd para ver informacin de seguimiento para la aplicacin.2. Seleccione el vnculo Ver detalles de la solicitud que desee investigar.Para borrar las solicitudes del visor de seguimiento 1. Desplcese a Trace.axd en la raz de la aplicacin. 2. Seleccione el vnculo borrar rastro actual para quitar todas las solicitudes almacenadas en el visor de seguimiento. www.uepuianuo.com SuTema Tiazai ASPNETHabilitar seguimiento a una pginaPuede controlar si se habilita o deshabilita el seguimiento para pginas individuales. Si elseguimiento est habilitado, cuando se solicita la pgina, ASP.NET agrega a la pgina una seriede tablas que contienen detalles de ejecucin sobre la solicitud de la pgina. De formapredeterminada, el seguimiento est deshabilitado.Para habilitar el seguimiento de una pgina1. Incluya una directiva @ Page al principio del archivo .aspx.2. Agregue un atributo Trace y establezca su valor en true, tal como se muestra en elejemplo siguiente:

Test1. You want to identify which event in the Web page life cycle takes the longest time to execute. How can you accomplish this? (Choose one.)A. Turn on ASP.NET trace and run the Web application. After that, review the trace results.B. Add a line of code to each of the life-cycle events that will print the current time.C. In the Web.config file, add the monitorTimings attribute and set it to True.D. In the Web site properties, turn on the performance monitor and run the Web application. After that, open performance monitor to see the timings.2. You want to run the trace continuously to enable you to quickly look at the 10 most recent traces from anyone using your Web site, but you are concerned about filling your hard drive with an excessive amount of data. Which of the following settings will accomplish your objective? (Choose one.)A. B. C. D. 3. You are interested in examining the data that is posted to the Web server. What trace result section can you use to see this information? (Choose one.)A. Control TreeB. Headers CollectionC. Form CollectionD. Server Variableswww.uepuianuo.com S1AApliicacocioon .TeACoCoueSeMne.NEemaauionfigontieeiviuMCsETa ii yguiaiolesuoiCTS:Web3.5ais:b5www.uepuianuo.com S2Tema Aauii y Configuiai Contioles ue Seiviuoi Tema 0sanuo un Contiol ueSeiviuoiCuando crea pginas Web ASP.NET, puede utilizar estos tipos de controles:x Controles de servidor HTML Elementos HTML expuestos al servidor para que sepuedan programar. Los controles de servidor HTML exponen un modelo de objeto quese relacionan muy estrechamente con los elementos HTML que representan.x Controles de servidor Web Controles con ms funciones incorporadas que loscontroles de servidor HTML. Los controles de servidor Web incluyen no slo controlesde formulario como botones y cuadros de texto, sino tambin controles con finesespeciales como un calendario, mens y un control de vista de rbol. Los controles deservidor Web son ms abstractos que los controles de servidor HTML pues su modelode objetos no refleja necesariamente la sintaxis HTML.x Controles de validacin Controles que incorporan lgica para permitirle comprobarlos controles de entrada de los usuarios como el control TextBox. Los controles devalidacin le permiten comprobar un campo necesario, su adecuacin a un valor o unmodelo de caracteres concreto, comprobar que un valor se encuentra en un intervalopredefinido, etc.x Controles de usuario Controles que crea como pginas Web ASP.NET. Se puedenincrustar controles de usuario de ASP.NET en otras pginas Web ASP.NET; esta es unaforma sencilla de crear barras de herramientas y otros elementos reutilizables.Controles de Servidor HTMLLos controles de servidor HTML son elementos HTML (o elementos en otro marcadocompatible, como XHTML) que contienen atributos que los convierten en programables encdigo del servidor. De forma predeterminada, los elementos HTML en una pgina WebASP.NET no estn disponibles para el servidor. En su lugar, se tratan como texto opaco y sepasan al explorador. Sin embargo, cuando se convierten en controles de servidor HTML, loselementos HTML quedan expuestos como elementos programables en el servidor.www.uepuianuo.com SSTema Aauii y Configuiai Contioles ue SeiviuoiEl modelo de objetos de los controles de servidor HTML se relaciona estrechamente con el delos elementos correspondientes. Por ejemplo, los atributos HTML se exponen en controles deservidor HTML como propiedades.Cualquier elemento HTML de una pgina se puede convertir en control de servidor HTMLagregando el atributo runat="server". Durante el anlisis, el marco de trabajo de la pginaASP.NET crea instancias de todos los elementos que contienen el atributo runat="server". Sidesea hacer referencia al control como un miembro dentro del cdigo, tambin deberasignarle un atributo id al control.El marco de trabajo de la pgina proporciona controles de servidor HTML predefinidos para loselementos HTML que se utilizan con ms frecuencia dinmicamente en una pgina: elelemento form, los elementos input (cuadro de texto, casilla, botn Enviar), el elementoselect, etc. Estos controles de servidor HTML predefinidos comparten las propiedades bsicasdel control genrico y, adems, cada control normalmente proporciona su propio conjunto depropiedades y su propio evento.Los controles de servidor HTML ofrecen las funciones siguientes:x Un modelo de objetos que pueda volver a programar en el servidor con las tcnicashabituales orientadas a objetos. Los controles de servidor exponen propiedades quepermiten manipular los atributos de marcado del control mediante programacin en elcdigo del servidor.x Un conjunto de eventos para los que pueda escribir controles de eventos de la mismaforma que lo hara en un formulario basado en cliente, con la excepcin de que unevento se controla en cdigo del servidor.x La capacidad de controlar eventos en un script de cliente.x Mantenimiento automtico del estado del control. Cuando la pgina realiza una accinde ida y vuelta al servidor, los valores que el usuario escriba en los controles deservidor HTML se mantendrn automticamente y la pgina se devuelve al explorador.x Interaccin con los controles de validacin ASP.NET para poder comprobar que unusuario ha escrito la informacin adecuada en un control.x Enlace de datos a una o varias de las propiedades del control.x Compatibilidad con estilos si la pgina Web ASP.NET se muestra en un explorador queadmite hojas de estilos en cascada.x Paso a travs de atributos personalizados. Pueden agregarse los atributos que senecesiten a un control de servidor HTML: el marco de trabajo de pginas losrepresentar sin ningn cambio en la funcionalidad. Esto permite agregar atributosespecficos del explorador a los controles.www.uepuianuo.com S4Tema Aauii y Configuiai Contioles ue SeiviuoiControles de Servidor WebLos controles de servidor Web son un segundo conjunto de controles diseado con otroenfoque. No se asignan necesariamente uno a uno a controles de servidor HTML. En lugar deello, se definen como controles abstractos, en los que el marcado real representado por elcontrol puede ser muy diferente al modelo con respecto al que se han programado. Porejemplo, un control RadioButtonList de servidor Web podra representarse en una tabla ocomo un texto en lnea con otro marcado.Los controles de servidor Web incluyen controles de formulario tradicionales como botones ycuadros de texto, adems de controles complejos, como, por ejemplo, las tablas. Tambinincluyen controles que proporcionan funcionalidad de formulario de uso frecuente, como lapresentacin de datos en cuadrcula, la eleccin de fechas, la visualizacin de mens, etc.Los controles de servidor Web ofrecen todas las funciones descritas anteriormente para loscontroles de servidor HTML (excepto la asignacin uno a uno a elementos) y estas funcionesadicionales:x Un modelo de objetos enriquecido que proporciona capacidades de programacin detipo seguro.x Deteccin automtica del explorador. Los controles pueden detectar las funciones delexplorador y representar el marcado adecuado.x Para algunos controles, la capacidad para definir su propio diseo para el controlutilizando Templates.x Para algunos controles, la capacidad de especificar si un evento del control provoca unenvo inmediato al servidor o, en su lugar, se almacena en cach y se activa cuando seenva la pgina.x Compatibilidad para temas, lo que le permite definir un aspecto uniforme para loscontroles en todo el sitio.x Capacidad para pasar eventos de un control anidado (como un botn en una tabla) alcontrol contenedor.Los controles utilizan una sintaxis como la que se muestra a continuacin: En este caso los atributos no son los de los elementos HTML. En lugar de ello, son propiedadesdel control Web.Cuando se ejecuta la pgina Web ASP.NET, el control de servidor Web se representa en lapgina utilizando el marcado apropiado, que con frecuencia no slo depende del tipo deexplorador sino tambin de la configuracin que haya realizado para el control. Por ejemplo,un control TextBox podra representarse como una etiqueta input o una etiqueta textareadependiendo de sus propiedades.www.uepuianuo.com SSTema Aauii y Configuiai Contioles ue SeiviuoiCiclo de Vida de una pgina web y sus ControlesCuando se ejecuta una pgina ASP.NET, sta recorre un ciclo de vida en el que realiza una seriede pasos de procesamiento. Entre ellos se incluyen la inicializacin, la creacin de instancias decontroles, la restauracin y el mantenimiento del estado, la ejecucin del cdigo delcontrolador de eventos y la representacin. Es importante que comprenda el ciclo de vida dela pgina para que pueda escribir cdigo en la fase del ciclo de vida apropiada y conseguir elefecto deseado. Adems, si crea controles personalizados, debe estar familiarizado con el ciclode vida de la pgina para poder inicializarlos, asignar datos de estado de vista a laspropiedades de los controles y ejecutar el cdigo de comportamiento de stos correctamente.(El ciclo de vida de un control est basado en el ciclo de vida de la pgina, pero sta produceen un control ms eventos de los que estn disponibles para la pgina ASP.NET por s sola.)FaseDescripcinSolicitud de pginaLa solicitud de pgina se produce antes de que comience el ciclo de vida de la pgina. Cuando un usuario solicita la pgina, ASP.NET determina si sta se debe analizar y compilar (a fin de que comience el ciclo de vida de la pgina) o si se puede enviar una versin en cach de la pgina como respuesta sin ejecutar la pgina. InicioEn el paso de inicio, se establecen las propiedades de la pgina, como Request y Response. En esta fase, la pgina tambin determina si la solicitud es una devolucin de datos o una nueva solicitud, y establece la propiedad IsPostBack. Adems, durante esta fase se establece la propiedad UICulture de la pgina. Inicializacin de pgina Durante la inicializacin de la pgina, los controles incluidos en ella estn disponibles y se establece la propiedad UniqueID de cada uno de ellos. Adems, se aplican los temas correspondientes a la pgina. Si la solicitud actual es una devolucin de datos, los datos de devolucin an no se han cargado y los valores de las propiedades del control no se han restaurado a los valores del estado de vista. CargaDurante la carga, si la solicitud actual es una devolucin de datos, las propiedades del control se cargan con informacin recuperada del estado de vista y del estado del control. ValidacinDurante la validacin, se llama al mtodo Validate de todos los controles de validacin, que establece la propiedad IsValid de cada uno de los controles de validacin y de la pgina. Control de eventos de devolucin de datosSi la solicitud es una devolucin de datos, se llama a los controladores de eventos. RepresentacinAntes de representar los datos, se guarda el estado de vista de la pgina y de todos los controles. Durante la fase de representacin, la pgina llama al mtodo Render para cada control, proporcionando un escritor de texto que escribe su resultado en OutputStream de la propiedad Response de la pgina. DescargaSe llama a la descarga cuando la pgina se ha representado completamente, se ha enviado al cliente y est lista para ser descartada. Llegado este momento, se descargan las propiedades de la pgina, como Response y Request, y se llevan a cabo las operaciones de limpieza correspondientes. ViewStateUna de las diferencias ms importantes que haba hasta ahora entre la programacin de unprograma para PC y la programacin de una Web, es que en las aplicaciones Web el clienterealiza una peticin (de una pgina), el servidor ejecuta el cdigo asociado a la peticin y ledevuelve un resultado al cliente. A partir de ese momento, el servidor no tiene consciencia decmo est actuando el cliente.www.uepuianuo.com S6Tema Aauii y Configuiai Contioles ue SeiviuoiPara explicarlo mejor, veamos un sencillo ejemplo:paginaEjemplo.aspx

paginaEjemplo.aspx.csprotected void Button1_Click(object sender, EventArgs e){Label1.Text = TextBox1.Text;}En este ejemplo, cuando el cliente hace clic en el Button1, el servidor devolver una pgina enla que en Label1 estar el texto que haya escrito el cliente en TextBox1... pero sucede algoms: en TextBox1 sigue estando el texto que ha escrito el cliente.Esto, que parece tan normal y que en los programas para PC es tan tpico, esconde unacomplejidad muy grande. Pensmoslo bien... el cliente envo los resultados de un formulariomediante el mtodo POST, el servidor los procesa y devuelve un resultado en forma de HTML,con los controles en el mismo estado que cuando el cliente hizo el envo, en este caso con elTextBox1 rellenado...Ese es el concepto de ViewState: el mantener el estado de los controles de una misma pginaentre una ida y venida al servidor.Pero es que ViewState no se queda slo ah. Rellenemos, por ejemplo, tanto el TextBox1 comoel TextBox2, y comprobamos que aunque al TextBox2 no se le hace alusin alguna en nuestrocdigo, tambin mantiene el mismo estado...Pero, dnde est el truco? Como ya sabrs, lo nico que no se puede hacer en programacines magia. Por ejemplo, chale un vistazo al cdigo fuente de esta pgina (o cualquier otrapgina ASP.NET), y vers que hay un campo hidden llamado ViewState con un valorincomprensible y generalmente muy largo (depende de la pgina, de la cantidad de controlesde los que haya que controlar el estado, etc.).En ese valor tan extrao est almacenado el estado de todos los controles de la pgina (comoimaginars es una codificacin de los valores legibles). Pero el ViewState no slo es eso, elViewState permite otras muchsimas cosas, como por ejemplo, averiguar si es la primera vezque ejecutamos una pgina o la hemos llamado antes ya.Desde cdigo se puede acceder al ViewState y guardar las variables que quieras en l, inclusowww.uepuianuo.com S7Tema Aauii y Configuiai Contioles ue Seiviuoide tipos de datos que te hayas inventado t (siempre que sean Serializables).Por ejemplo, puedes guardar una variable en ViewState...ViewState["ejemplo"] = 21;... y acceder a su valor cuando has hecho clic en tres botones y has hecho un postback con 2listas desplegablesint i = (int)ViewState["ejemplo"];Slo tienes que recordar dos cosas bsicas:1. Hay que parsear el dato al tipo de datos que corresponde cuando leemos el valor delViewState (en este caso al tipo integer, pero puede tratarse de cualquier tipo de datos)2. El ViewState es una variable del mbito de peticin una misma pgina. Es decir, t puedestrabajar con el ViewState siempre que ests en la misma pgina y siempre que lo nico quehagas en ella sean postBack. Por ejemplo, el ViewState se reseteara a su valor inicial siestando en una pgina presionamos el "Go" de nuestra barra de direcciones.Si lo queremos pensar de otra forma, el ViewState es lo mismo que una variable de Session enel mbito de una pginaEventos de PginaEvento de pginaUso tpico PreInit Utilice este evento para lo siguiente: x Examine la propiedad IsPostBack para determinar si es la primera vez que se procesa la pgina. x Crear o volver a crear controles dinmicos. x Establecer una pgina maestra de forma dinmica. x Establecer la propiedad Theme de forma dinmica. x Leer o establecer los valores de las propiedades de perfil. Init Se provoca cuanto todos los controles se han inicializado y se ha aplicado la configuracin de mscara. Utilice este evento para leer o inicializar las propiedades del control. InitComplete Lo provoca el objeto Page. Utilice este evento para tareas de procesamiento que requieran que todo el proceso de inicializacin haya finalizado. PreLoad Utilice este evento si necesita realizar tareas de procesamiento en su pgina o control antes de que se provoque el evento Load.Despus de que Page provoca este evento, carga su estado de vista y el de todos los controles y, despus, procesa todos los datos de devolucin incluidos con la instancia de Request.Load Page llama al mtodo del evento OnLoad en Page, realiza la misma operacin de forma recursiva para cada control secundario, los cuales realizan la misma operacin para cada uno de sus controles secundarios hasta que se cargan la pgina y todos los controles. Utilice el mtodo del evento OnLoad para establecer las propiedades www.uepuianuo.com S8Tema Aauii y Configuiai Contioles ue Seiviuoide los controles y establecer las conexiones a bases de datos. Eventos de controlUtilice estos eventos para controlar eventos de control especficos, como un evento Click del control Button o un evento TextChanged del control TextBox.LoadComplete Utilice este evento para las tareas que requieran que se carguen todos los dems controles en la pgina. PreRender Antes de que se produzca este evento: x El objeto Page llama a EnsureChildControls para cada control y para la pgina.x Cada control enlazado a datos cuya propiedad DataSourceID est establecida llama a su mtodo DataBind. Para obtener ms informacin, vea Eventos de enlace de datos de controles enlazados a datos ms adelante. El evento PreRender se produce para cada control de la pgina. Utilice el evento para realizar cambios finales en el contenido de la pgina o en sus controles. SaveStateComplete Antes de que se produzca este evento, ViewState se ha guardado para la pgina y para todos los controles. Se omitirn todos los cambios que se realicen en este momento en la pgina o en los controles. Utilice este evento para realizar tareas que requieran guardar el estado de vista, pero que no efecten cambios en los controles. Render ste no es un evento; en esta fase del procesamiento, el objeto Pagellama a este mtodo en cada control. Todos los controles de servidor Web de ASP.NET tienen un mtodo Render que escribe el marcado del control que se enva al explorador. Si crea un control personalizado, normalmente reemplazar este mtodo para generar el marcado del control. Sin embargo, si el control personalizado slo incorpora controles de servidor Web de ASP.NET estndar y ningn marcado personalizado, no necesita reemplazar el mtodo Render.Un control de usuario (un archivo .ascx) incorpora automticamente la representacin, por lo que no necesita representar explcitamente el control en el cdigo. Unload Este evento se produce para cada control y despus para la pgina. En los controles, utilice este evento para realizar tareas finales de limpieza en controles especficos, como cerrar las conexiones a bases de datos especficas del control. Para la propia pgina, utilice este evento para hacer un ltimo trabajo de limpieza, como cerrar archivos abiertos y conexiones a bases de datos, finalizar el registro u otras tareas especficas de la solicitud. Manejadores de EventosLa pgina Web y sus controles de servidor tienen un evento predeterminado. Por ejemplo,elevento por defecto de las pginas web es el de Carga, y el evento por defecto del botn es elevento Click. En Microsoft Visual Studio 2008, entorno en tiempo de diseo, puede agregar unmtodo al controlador de eventos para el evento predeterminado simplemente haciendodoble clic en la superficie del objeto. Un controlador de eventos se crea en el archivo de cdigosubyacente. Por ejemplo, si hace doble clic en la pgina web, un evento Page_Load mtodo secrea en la pgina de cdigo subyacente, y puede agregar su cdigo personalizado en estemtodo.www.uepuianuo.com S9Tema Aauii y Configuiai Contioles ue SeiviuoiControles de Servidor Web o Controles de Servidor HTML?Las siguientes secciones cubren HTML y controles de servidor Web. Con frecuencia, la cuestinse plantea: qu debo utilizar? Aqu hay algunas directrices que pueden ayudarle a elegir eltipo de control adecuado.Considerar la utilizacin de los controles de servidor HTML cuando tengan lugar cualquiera delas condiciones siguientes:Va a migrar las pginas ASP a ASP.NET.El control necesita javascript del lado del cliente para sus eventosCreando Controles de Servidor HTMLPara agregar un control de servidor HTMLx Escriba la sintaxis HTML del elemento que desea utilizar como un control. Incluya lasintaxis HTML normal para el elemento y, adems, haga lo siguiente:x Establezca el atributo (propiedad) ID del control en un valor nico para esapgina, a menos que el control forme parte de un control complejo y serepetir (como en los controles Repeater, DataList y GridView).x Establezca el atributo runat="server" para convertir el elemento en control.El ejemplo siguiente muestra cmo declarar unos controles HtmlInputText, HtmlInputText,HtmlInputButton y HtmlAnchor:

www.uepuianuo.com 4uTema Aauii y Configuiai Contioles ue Seiviuoi

Click More to see the next page.Ejemplo

Customer Page

Customer Page

En esencia, se observa que se han usado los tpicos controles HTML pero aadindolesrunat="server"Tambin se puede observar que el atributo de accin fue retirado de la etiqueta delformulario, porque es la costumbre de enviar los datos de vuelta a la misma pgina.Los controles HTML tambin los podemos crear desde la barra de herramientaswww.uepuianuo.com 41Tema Aauii y Configuiai Contioles ue SeiviuoiPropiedad Descripcin Attributes Una lista de todos los pares de atributos nombre / valor indicados en la etiqueta del control de servidor. Esto es accesible a travs de cdigo. Disabled Desabilita el control Id Identificador para programacinStyle Propiedades CSS aplicadas al controlTagName Nombre del elementowww.uepuianuo.com 42Tema Aauii y Configuiai Contioles ue SeiviuoiVisible Oculta o hace visible al control

Adems de establecer las propiedades de los controles desde cdigo, tambin las podemosestablecer desde la ventana de diseoOtra posibilidad sera establecer las propiedades programticamente:using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default : System.Web.UI.Page{protected void Page Load(object sender, EventArgs e) { myButton.Visible true;myButton.Style.Add("position", "absolute");myButton.Style.Add("left", "75px");myButton.Style.Add("top", "150px");} }www.uepuianuo.com 4STema Aauii y Configuiai Contioles ue Seiviuoiprotected void myButton ServerClick(object sender,System.EventArgs e) { DIV1.InnerText Text1.Value; } Desventajas de losControles Web HTMLHay un par de inconvenientes a la utilizacin de controles de servidor HTML. Una desventaja esque los controles HTML no tiene un modelo de programacin que sea compatible con WinForma de programacin. Por ejemplo, en WinForm programacin, los datos que se teclean enel cuadro de texto est disponible a travs de la propiedad Text, mientras que el control deservidor HTML del cuadro de texto se dispone de datos a travs de la propiedad Value.Otra desventaja de los controles de servidor HTML es que un control de servidor HTML semapea directamente a una sola etiqueta HTML.Controles de Servidor WEBLos controles de servidor Web ASP.NET son objetos de pginas Web ASP.NET que se ejecutancuando se solicita la pgina y representan el formato en un explorador. Muchos controles deservidor Web son similares a elementos HTML conocidos, como botones y cuadros de texto.Sin embargo, otros controles abarcan un comportamiento complejo, por ejemplo un controlde calendario o los controles que administran conexiones de datos.Los temas de esta seccin describen qu son los controles de servidor Web ASP.NET y cmotrabajar con ellos. La seccin tambin contiene informacin sobre todos los controles deservidor Web ASP.NET integrados y sobre cmo puede crear sus propios controles.www.uepuianuo.com 44Tema Aauii y Configuiai Contioles ue Seiviuoi Para aadir controles de servidor web a una pgina web podemos hacerlo de las siguientesformas:1. En vista Diseo2. Con cdigo3. De forma dinmica va cdigoprotected void Page_Init(object sender,System.EventArgs e) { TextBox c = new TextBox(); c.ID = "txtUserName";c.Visible = true;form1.Controls.Add(c); } Propiedades de los Controles de Servidor WebPropiedades Descripcin AccessKey Tecla de acceso para aadir a [alt] Attributes AtributosBackColor Color de Fondo BorderColor Color del bordeBorderWidth Ancho del bordeBorderStyle Estilo del BordeCssClassClase CSS Style Propiedades de Csswww.uepuianuo.com 4STema Aauii y Configuiai Contioles ue SeiviuoiEnabled Activar o desactivar el controlEnableTheming Permitir Temas para el controlEnableViewState Activar View StateFontFuenteForeColor Color de la fuente Height AlturaSkinID Skin a aplicar al control TabIndexPosicin en el Tab order. Si no tiene establecido valor es un 0 ToolTipTexto de ayuda WidthAnchura

btnWebButton.Visible true;btnWebButton.Style.Add("position", "absolute");btnWebButton.Style.Add("top", "200px");btnWebButton.Style.Add("left", "350px");PostBackEn ASP.NET los WebForms estn diseados para enviar informacin hacia al servidorpara su procesamiento. Esa operacin es denominada POSTBACK. El PostBack tienelugar cuando el usuario hace click en un control Button o cuando se establece lapropiedad AutoPostBack a true en un control de servidor y se produce algn cambioen ese control.Trabajar con nombres de los contenedores y los controles hijosUna pgina Web se compone de una jerarqua de los controles. la pgina web tiene unacoleccin de controles, cada uno de los controles en esa coleccin tiene su propia coleccin decontroles, y as sucesivamente.www.uepuianuo.com 46Tema Aauii y Configuiai Contioles ue SeiviuoiDentro de un contenedor de controles, cada control debe ser identificable inequivocamente.Normalmente, esto se logra mediante la asignacin de un valor nico para el control deservidor en la propiedad ID. Control c = FindControl("lblMessage"); Control c = GridView1.FindControl("ctl08");TEST1.ToaddanHTMLWebservercontroltotheWebpage,youmustdraganHTMLelement from the ToolBox to the Web page and then perform which of the following tasks? (Choose one.)A. Right-click the HTML element and click Run=Server.B. Double-click the HTML element to convert it to an HTML server control.C. Right-click the HTML element and click Run As Server Control.D. Click the HTML element and set ServerControl to true in the Properties window.2. You noticed that clicking a CheckBox does not cause a PostBack; you need the CheckBox to PostBack so you can update the Web page based on server-side code. How do you make the CheckBox cause a PostBack? (Choose one.)A. Set the AutoPostBack property to true.B. Add JavaScript code to call the ForcePostBack method.C. Set the PostBackAll property of the Web page to true.D. Add server-side code to listen for the click event from the client.3. After writing code to create a new instance of a TextBox server control, what do you need to do to get the TextBox to display on the Web page? (Choose one.)A. Call the ShowControl method on the TextBox.B. Set the VisibleControl to true on the TextBox.C. Add the TextBox instance to the form1.Controls collection.D. Execute the AddControl method on the Web page.www.uepuianuo.com 47AApliicacocioon .TeCoueSeMne.NEemaontieeiviuMCsETa iolesuoiCTS:Web3.5s:b5www.uepuianuo.com 48Tema Contioles ue Seiviuoi Tema Contioles ue Seiviuoi WebComunesLabelRepresenta un control de etiqueta que muestra texto en una pgina Web. Utilice el controlLabel para mostrar texto en una ubicacin establecida de la pgina. A diferencia del textoesttico, se puede personalizar el texto que se muestra mediante la propiedad Text.Tambin es posible utilizar los controles Literal y PlaceHolder para mostrar texto en la pginade formularios Web Forms. Sin embargo, al contrario de lo que ocurre con el control Label,estos controles no representan etiquetas adicionales.

Label Example

void Button Click(Object Sender, EventArgs e){ Label1.Text Server.HtmlEncode(Text1.Text); }

Label Example

TextBoxMuestra un control de cuadro de texto para la entrada de datos del usuario. El control deservidor TextBox es un control de entrada que permite al usuario escribir texto. De manerawww.uepuianuo.com 49Tema Contioles ue Seiviuoipredeterminada, se establece la propiedad TextMode del control en TextBoxMode.SingleLine,que muestra un cuadro de texto de una sola lnea. No obstante, tambin puede usar el controlTextBox para mostrar un cuadro de texto multilnea o un cuadro de texto que enmascara losdatos proporcionados por el usuario al cambiar el valor de la propiedad TextMode aTextBoxMode.MultiLine o TextBoxMode.Password, respectivamente. El texto mostrado en elcontrol TextBox se especifica o determina con la propiedad Text.El control TextBox contiene varias propiedades que permiten controlar la apariencia delcontrol. El ancho de presentacin del cuadro de texto, expresado en caracteres, vienedeterminado por la propiedad Columns. Si el control TextBox es un cuadro de texto multilnea,el nmero de filas que muestra lo determina la propiedad Rows. Para mostrar texto que seajusta dentro del control TextBox, establezca la propiedad Wrap en true.Tambin se puede especificar cmo se incluyen los datos en el control TextBox estableciendoalgunas propiedades. Para impedir que se modifique el texto mostrado en el control,establezca la propiedad ReadOnly en true. Para limitar los datos proporcionados por el usuarioa un nmero especificado de caracteres, establezca la propiedad MaxLength.ButtonMuestra un control de botn de comando en la pgina Web. Utilice el control Button paracrear un botn de comando en la pgina Web. Se puede crear un botn Enviar o un botnComando.De manera predeterminada, un control Button es un botn Enviar. Un botn Enviar no tieneasociado un nombre de comando (especificado por la propiedad CommandName) ysimplemente devuelve la pgina Web al servidor. Se puede proporcionar un controlador deeventos para el evento Click con el fin de controlar mediante programacin las accionesrealizadas cuando se hace clic en el botn Enviar.Un botn Comando puede tener asociado un nombre de comando, como Sort, mediante elestablecimiento de la propiedad CommandName. Esto permite crear varios controles Buttonen una pgina Web y determinar mediante programacin en qu control Button se hace clic.Tambin se puede usar la propiedad CommandArgument con un botn de comando parafacilitar informacin adicional sobre el comando que se va a ejecutar, como Ascending. Sepuede proporcionar un controlador de eventos para el evento Command con el fin decontrolar mediante programacin las acciones realizadas cuando se hace clic en el botnComando.De manera predeterminada, se realiza la validacin de la pgina cuando se hace clic en uncontrol Button. La validacin de la pgina determina si todos los controles de entradaasociados a un control de validacin en la pgina cumplen las reglas de validacinespecificadas por el control de validacin. Para evitar que se realice la validacin de la pgina,establezca la propiedad CausesValidation en false.

www.uepuianuo.com SuTema Contioles ue Seiviuoi

Button Example

void SubmitBtn Click(Object sender, EventArgs e){ Message.Text "Hello World!!";}

Button ExampleClick on the submit button.


CheckBoxMuestra una casilla de verificacin que permite al usuario seleccionar una condicin true o false. Utilice el control CheckBox para permitir que el usuario seleccione un estado true o false. Si piensa utilizar varios controles CheckBox, el control CheckBoxList es un control alternativo que aporta funciones prcticas de enlace de datos. Sin embargo, los controles CheckBox individuales permiten un mayor control sobre el diseo. RadioButtonRepresenta un control de botn de opcin. El control de servidor RadioButton permiteintercalar botones de opcin en un grupo con otro contenido dentro de la pgina. Los botonesse agrupan de forma lgica si todos ellos comparten la misma propiedad GroupName.

RadioButton Example

void SubmitBtn Click(Object Sender, EventArgs e) { if (Radio1.Checked) { Label1.Text "You selected " + Radio1.Text; } else if (Radio2.Checked) { Label1.Text "You selected " + Radio2.Text; } else if (Radio3.Checked) { Label1.Text "You selected " + Radio3.Text; } www.uepuianuo.com S1Tema Contioles ue Seiviuoi}

RadioButton Example

Select the type of installation you want to perform:
This option installs the features most typically used. Requires 1.2 MB disk space.

This option installs the minimum files required to run the product.Requires 350 KB disk space.

This option installs all features for the product. Requires 4.3 MB disk space.

1. If you want multiple RadioButton controls to be mutually exclusive, what property must you set? (Choose one.)A. Exclusive B. MutuallyExclusive C. GroupedD. GroupName2. You are creating a Web page that has several related buttons, such as fast forward, reverse, play, stop, and pause. You want to create a single event handler that processes the PostBack from these Button controls. Other than the normal Submit button, what type of button can you create as a solution? (Choose one.)A. OneToManyB. CommandC. ResetD. ManyToOne3. When in Design view, what is the simplest way to create an event handler for the default event of a server control? (Choose one.)A. Open the code behind page and write the code.B. Right click the control and select Create Handler.C. Drag an event handler from the ToolBox to the desired control.www.uepuianuo.com S2Tema Contioles ue SeiviuoiD. Double click the control.Ejemplo 1

Untitled Page

using System; www.uepuianuo.com SSTema Contioles ue Seiviuoiusing System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default : System.Web.UI.Page{protected void Page Load(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("Page Load");} protected void Page Init(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("Page Init"); } protected void Page PreRender(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("Page PreRender"); } protected void Page PreInit(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("Page PreInit"); } protected void Page Unload(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("Page Unload"); } protected void Button1 Click(object sender, EventArgs e) { Label1.Text Server.HtmlEncode(TextBox1.Text); } protected void CheckBox1 CheckedChanged(object sender, EventArgs e) { if (CheckBox1.Checked) { CheckBox1.Text DateTime.Now.ToString();} } protected void RadioChanged(object sender, EventArgs e) {RadioButton r (RadioButton)sender; TextBox1.Text r.Text; }}www.uepuianuo.com S4Tema Contioles ue SeiviuoiEjemplo 2

Name: Category: psychologybusinesspopular comp

Welcome to ASP.NET

www.uepuianuo.com SSTema Contioles ue SeiviuoiEjemplo 3

Name: Category:

Installed Fonts

RomanArial BlackGaramondSomonaSymbol

TimesHelveticaArial

Ejemplo 9Controls5.cs

void Page Load(Object Src, EventArgs E) { Random randomGenerator new Random(DateTime.Now.Millisecond); int randomNum randomGenerator.Next(0, 3); switch(randomNum) { case 0: Name.Text "Scott"; break;case 1: Name.Text "Fred"; break;case 2: www.uepuianuo.com 6uTema Contioles ue Seiviuoi Name.Text "Adam"; break; } AnchorLink.NavigateUrl "controls navigationtarget cs.aspx?name " + System.Web.HttpUtility.UrlEncode(Name.Text);}

Performing Page Navigation (Scenario 1)

This sample demonstrates how to generate a HTML Anchor tag that will cause the client to navigate to a new page when he/she clicks it within the browser.

Hi please click this link!

Controls NavigationTarget cs.aspx

void Page Load(Object Sender, EventArgs e) { if (!Page.IsPostBack) { NameLabel.Text Server.HtmlEncode(Request.QueryString["Name"]); } }

Handling Page Navigation

This sample demonstrates how to receive a navigation request from another page, and extract the querystring argument within the Page Load event.

Hi !

www.uepuianuo.com 61Tema Contioles ue SeiviuoiEjemplo 10Controls6 cs.aspx

void EnterBtn Click(Object Src, EventArgs E) { // Navigate to a new page (passing name as a querystring argument) if// user has entered a valid name value in the if (Name.Text !"") { Response.Redirect("Controls NavigationTarget cs.aspx?name " + System.Web.HttpUtility.UrlEncode(Name.Text));} else { Message.Text "Hey! Please enter your name in the textbox!"; } }

Performing Page Navigation (Scenario 2)

This sample demonstrates how to navigate to a new page from within a click event, passing a value as a querystring argument (validating first that the a legal textbox value has been specified).

Please enter your name:

Controls NavigationTarget cs.aspx

void Page Load(Object Sender, EventArgs e) { if (!Page.IsPostBack) { NameLabel.Text Server.HtmlEncode(Request.QueryString["Name"]); } }

www.uepuianuo.com 62Tema Contioles ue SeiviuoiHandling Page Navigation

This sample demonstrates how to receive a navigation request from another page, and extract the querystring argument within the Page Load event.

Hi !

Ejemplo 11

void Button1 Click(object sender, EventArgs e) { Label1.Text "Hello " + TextBox1.Text; }

ASP.NET Inline Pages

Welcome to ASP.NET 2.0!Enter Your Name:



Ejemplo 11CodeBehind cs.aspx

ASP.NET CodeBehind Pages

Welcome to ASP.NET 2.0!Enter Your Name:



www.uepuianuo.com 6STema Contioles ue Seiviuoi

CodeBehind cs.aspx.csusing System; public partial class CodeBehind cs aspx : System.Web.UI.Page {protected void Button1 Click(object sender, EventArgs e) { Label1.Text "Hello " + TextBox1.Text; } }Ejemplo 12CodeFolder cs.aspx

void Button1 Click(object sender, EventArgs e) { CustomClass c new CustomClass(); Label1.Text c.GetMessage(TextBox1.Text); }

ASP.NET Inline Pages

Welcome to ASP.NET 2.0!Enter Your Name:



CustomClass.cs (AppCode) using System; public class CustomClass {public String GetMessage(String input) { return "Hello " + input; } }Ejemplo 13

Hello World!

www.uepuianuo.com 64Tema Contioles ue Seiviuoi

Ejemplo 14

int subtract(int num1, int num2) { return num1 num2; }

0) { Response.Write("Value: " + number + "
");number subtract(number, 1); } %>

Ejemplo 15

void Page Load(Object sender, EventArgs e) { Message.Text "Welcome to ASP.NET"; }

Ejemplo 16

void Page Load(Object sender, EventArgs e) { Message.InnerHtml "Welcome to ASP.NET"; }

www.uepuianuo.com 6STema Contioles ue SeiviuoiEjemplo 17

void Page Load(Object sender, EventArgs e) { ArrayList items new ArrayList(); items.Add("One"); items.Add("Two"); items.Add("Three"); MyList.DataSource items; MyList.DataBind(); }

Here is a value:

Ejemplo 18

The below content has been hidden from browser clients using a server side comment (view the .aspx source to see what we mean : )

Main page content www.uepuianuo.com 66Tema Contioles ue Seiviuoi

www.uepuianuo.com 67AApliicaccoTeCoSeiEspcioon .mantioiviupeciMne.NEolesuoiializMCsET3s uezauoCTS:Web3.5os:b5www.uepuianuo.com 68TeEsLiteReserSystemostcontrprogr

Liteript runat "s void Butto { Literal } /script>ad>y>form id "forLitera

Calizauacin en la pWebControlscontrol Litero permite apltexto mostrage "C#" AutoPUBLIC " //Ww3.org/TR/xral Exampleon id "Butto"Change Litck "ButtonCt "server"/>Teontiouospgina Web ps.Literal pararal es similarlicar un estiloado en el conEventWireup3C//DTD XHTMhtml1/DTD/xh/title>ct sender, Ecome to ASPserver">h3>ral1"d!!"n1"eral Text" lick"ema Coles upara mostrara reservar unr al control Lao al texto montrol, estable"True" %> ML 1.0 Transhtml1 transiEventArgs e).NET!!";Contiolesue Seir texto esttna ubicacinabel, exceptostrado. Se peciendo la prsitional//ENitional.dtd")ue Seiviuiviuoico. Utilice een la pginao por el hechpuede controropiedad TexN"">uoi Especoiel controla Web paraho de que elolar mediantxt.cializauosteswww.uepuianuo.com 69La prse repUtiliccontrLiteraValorPassEncoTranSi espexploconticompSi espen HTcontio expSi espdel tidispomismelemCuanXHTMmarcTextejemopiedad Litepresenta el cce la propiedrol Literal. EsalMode. En lr DsThrough Node Esform Lcqpecifica Passorador sin ninene una etiqpatible.pecifica EncoTML antes deene una etiqplorador.pecifica Tranpo de marcaositivo o explmo comportaentos de la pdo se represML, como WMado no compno admitidoplo, si la proeral.Mode Obcontenido dead Mode pasta propiedala siguiente tDescripcinNo se modificEl contenido Los elementocontenido deque admite HsThrough, elnguna modifqueta , sode, el contee representaqueta , pnsform, el coado que se valorador quemiento quepropiedad Tesenta el contML o cHTMLpatibles. En es en el lenguopiedad TextTebtiene o estael control Litra especificad se establectabla se enumca el conteniddel control seos del lenguajl control. Si eHTML o XHTMcontenido coficacin. Porse enva a todenido de la parse. Por ejemprimero se comportamiena a represenadmite HTMal especificaext se represtrol Literal paL, puede utilieste caso, louaje de marcde un contrema Cablece un vaeral.ar cmo se dce mediantemeran los podo del controe convierte eje de marcadel control LiteML, no se modompleto deejemplo, si ldos los disporopiedad Texmplo, si la pronvierte en &nto de represtar. CuandoML o XHTML,ar PassThrougsentan para eara un lenguzar el valor Tos elementoscado de destol Literal conContioleslor de enumebe represee uno de los vosibles valoreol.en una cadendo no compateral se repredifica el contela propiedadla propiedadositivos y expxt se convierropiedad Tex ysentacin dese represenal especificagh. Todas lasel exploradoaje de marcaTransform pas de lenguajeino no se repntiene una eue Seiviueracin quentar el contevalores de enes.a codificada etibles se quitaesenta en unenido de contd Text se pasd Text de unploradores yrte en una caxt de un conluego se enve la propiedata el controlr Transform,s etiquetas dor que realizado distintoara quitar loe de marcadopresentan paetiqueta uoi Especespecifica cenido de unnumeracinen HTML.an del explorador trol.a al dispositicontrol Litera sea o noadena codifictrol Literalva al disposiad Text depeLiteral para, se genera ede marcado y la solicitudde HTML os elementoso de la propiara el contro>, se quita lacializauosmoivo oralcadaitivondeunely.deedadol. Porswww.uepuianuo.com 7uetiqucompo expetiquusingusingusingusingusingusingusingusingusingusingpubli{p{}}

ont>ont>ansform;ssThrough;code;"QuelaFuerzat="QuelaFuerz

Contiolesositivo WMLeta, y se envene el contense enva al diUI.PageArgs e) >alert(""Hi">alert(""Hi">alert(""Hi"teacompae.">zateacompae.ue SeiviuL. Si una etiqva al contennido Tispositivo o e"");";t>";al>cializauossitivoasswww.uepuianuo.com 71ConTabMuesespecdiseTableconteEs imtablafilas yParadevoutilizatodocontrUntitad>y>

uoi Especa tabla HTMLar en tiemposervidor Wecin confilas o celdasse debe a qontrol Tabledespus deecomiendaa consecuencores decializauosL yo deebs de laue lase.cadacia deswww.uepuianuo.com 72d id "Head1"Untitad>y>

p:TableCell>Row 0, Col p:TableCellp:TableCell>Row 0, Col p:TableCellableRow>bleRow>p:TableCell>Row 1, Col p:TableCellp:TableCell>Row 1, Col p:TableCellableRow>>emplo de ca creacin debjetos TableCestableciendde TableCellgregue los obtimo, agregueso para cadage "C#" %> PUBLIC " //Ww.w3.org/TR/erver">d Page Load(rate rows anrows 3; cells 2; t j 0; j < eRow r new(int i 0; TableCell c c.Controls.A+ j.ToSr.Cells.Adde1.Rows.Addrunat "servtled Page0>1>0>1>digo se muee una tabla dCell que reprdo la propiedl. A continuabjetos Tableue el controla fila de la ta3C//DTD XHTMxhtml1/DTD/xObject sended cells.numrows; j+w TableRow()i < numcell new TableAdd(new Litetring() + ",(c);(r);ver">itle>"server">tructed progema Cestra cmo coe forma dinresenten lasdad Text o agacin, cree uCell creadosTableRow aabla.ML 1.0 Transxhtml1 transer, EventArg++));ls; i++) { eCell();eralControl, cell " + igrammaticallContiolesonstruir unamica constaceldas de ungregando conn control Tabs anteriormea la coleccinsitional//ENsitional.dtdgs e) ("row "i.ToString()lyue Seiviutabla mediaa de tres pasna fila. El conntroles a la cbleRow quente a la colen Rows del coN"d">));uoi Especantesos. En primentenido de lacoleccinrepresente uccin Cells dontrol Tablecializauoserasunade.swww.uepuianuo.com 7Sect sender, electedIndexAlign ImagAlign ImagAlign ImagAlign ImagAlign ImagAlign Imagema Clquier imagea especificarUrl. Para espeisponible, ess dems elemML 1.0 Transhtml1 transiEventArgs ex)geAlign.NotSgeAlign.LeftgeAlign.RighgeAlign.BasegeAlign.Top;geAlign.MiddContiolesen vlida admla ruta de acecificar el textablezca la pmentos de lasitional//ENitional.dtd"e)Set;t;ht;eline;;dle;ue Seiviumitida por elcceso a la imxto que se hapropiedad Ala pgina WebN"">uoi Especexploradoragen que sea de mostrarternateText.b se especificializauosquer en. Lacaswww.uepuianuo.com 76NotSstItem>LeftstItem>RighstItem>BasestItem>TopMiddstItem>BottstItem>AbsBstItem>AbsMstItem>TextpDownList>/>on id "Butto"Apply Imagck "Buttont "server"/>TeAlign ImagAlign ImagAlign ImagAlign ImagAlign Imagserver">>:large">t Text Text t Text Text t Text Text " runat "sermage text" "/image1.jpg"br />"DropList1"etstItem>cializauosswww.uepuianuo.com 78stItem>sp:ListItem>unat=server/e (ratn) en lponde a los cel control Imnar medianteA continuacienadas. Obsmagen.al hacer clic eontroles de edacin especa pgina, estauoi Espec>>a imagen.lics del moumageButton.e programacn, se puedeerve que elen un controentrada asoccificadas porablezca lacializauosse.cincrearoliadoselswww.uepuianuo.com 79usingusingusingusingusingusingusingusingusingusingpubli{p{}p{}}g System; g System.Datg System.Cong System.Colg System.Webg System.Webg System.Webg System.Webg System.Webg System.Webic partial cprotected vo{ ImageBut ImageBut ImageBut}protected vo{ ImageButstring.F}ta;nfiguration;lections;b;b.Security;b.UI;b.UI.WebContb.UI.WebContb.UI.HtmlConclass ImageBoid Page Loatton1.ImageUtton1.Descriptton1.Alternoid ImageButtton1.AlternFormat("ButtTerols;rols.WebParttrols;utton Controd(object senrl "~/ImagptionUrl "ateText "Tton1 Click(oateText on Clicked aema Cts;ol : System.nder, EventAges/Girl.gif"~/ImageDescThis is a piobject sendeat {0},{1}",Contioles.Web.UI.PageArgs e) f";cription.htmicture of a er, ImageCli, e.X, e.Y);ue Seiviuem";girl";ickEventArgsuoi Espec e) cializauosswww.uepuianuo.com 8u

width "100%"width "25%"

>

bel id=Labelque muestrafinida dentroo se desplazImageMap po un usuarioe datos al seutilizar este cclic en una reiona datos aTeunat "servernClick(objecX: " + x.ToSY: " + y.ToS{ "You clic "You clic">Using Imagborder 0>>utton id=ButImageButton1id=Label1 Teid=Label2 Te3 font-bold=una imageno del controlza a una direcpara crear unhace clic enervidor o descontrol paraegin concredicionales soema Cr">ct Source, IString();String();cked on the cked on somegeButton as tton1 ImageU1 OnClick" rext="X:" runext="Y:" run="true" Texten una pgiImageMap,ccin URL esna imagen quuna reginsplazarse a umostrar un meta del mapaobre la regiContiolesImageClickEvPurple Raine Extreme Oran Image MaUrl="images/runat="servenat="SERVER"nat="SERVER"t="" runat="na. Cuando sel control gespecificada.ue contengade zona activna direccinmapa de una, el control sn seleccionaue SeiviuventArgs e) n!";range!";ap"/>"SERVER"/>se hace clic eenera una delas regionesva, el contron URL especifa regin geogse desplaza aada. Tambinuoi Espec{h3>n4.gif"en una regievolucin des de zona actol puede genficada. Porgrfica. Cuana una direccin puede utilizcializauosn deetivaerarndonzarswww.uepuianuo.com 81este cfunciImaghaceregistregiTambejemotra rUtilicen elcontrPolygHotSHay dImagdel copropiestabHotScontrol paran de la regieMap para cclic en la regtrar una respn de zona acbin puede mplo, puede eregin de zoce l