programación en asp

Upload: maguis0401

Post on 30-May-2018

243 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/14/2019 Programacin en ASP

    1/83

    Programacin en

    ASP .NET

    Beatriz Hernndez Cruz

    Reynaldo Hernndez Hernndez

  • 8/14/2019 Programacin en ASP

    2/83

    Programacin en ASP .NETJEREYBE

    2

    Advertencia

    Todos los nombres propios de programas, sistemas operativos, hardware,

    etc., que aparecen en este documento son marcas registradas de susrespectivas compaas u organizaciones.

    Reservados todos los derechos. Los autores prohben cualquier tipo defijacin, reproduccin, transformacin, distribucin, ya sea mediante ventay/o prstamo y/o cualquier otra forma de cesin de uso, y/o comunicacinpblica de la misma, total o parcialmente, por cualquier sistema o encualquier soporte, ya sea por fotocopia, medio mecnico o electrnico,incluido el tratamiento informtico de la misma, en cualquier lugar del

    universo, sin la preceptiva autorizacin.

    Esta obra est destinada exclusivamente para el uso particular del usuario, siusted desea autorizacin para el uso profesional, puede obtenerla enviandoun email a [email protected]

  • 8/14/2019 Programacin en ASP

    3/83

    Capitulo I

    Introduccin a ASP

    .NET

  • 8/14/2019 Programacin en ASP

    4/83

    Programacin en ASP .NETJEREYBE

    4

    Fundamentos de la nueva arquitectura de programacin

    ASP .NET marca un antes y un despus en la era de la programacin por

    Internet. Microsoft ha dado un paso decidido y fundamental hacia la plenaprogramacin en entornos distribuidos, dejando atrs las limitacionespropias del uso de lenguajes script como VBScript.

    Gracias a ASP .NET el programador puede usar todo el potencial que ofrecenlenguajes como Visual Basic .NET, Visual C .NET y Visual C# .NET. Ello se debea la nueva arquitectura de programacin que se ha establecido en el nuevoentorno de Visual Studio .NET.

    La clave de la interoperatividad de los distintos lenguajes dentro de unamisma aplicacin radica en el nuevo motor de ejecucin de lenguajes:Common Language Runtime (CLR). Se encuentra en el nivel inferior dentro dela arquitectura .NET.

    El motor CLR se encarga de compilar el cdigo antes de ejecutarlo,independientemente del lenguaje utilizado por el programador.

    En vez de compilar a cdigo binario (como es usual en cualquier lenguaje),

    CLR crea una representacin a un lenguaje compartido dentro de laestructura .NET, el lenguaje Microsoft lntermediate Language (MSIL).

    La primera vez que se ejecuta un cdigo, el motor CLR invoca un compiladorllamado Just In Time (JIT) que traduce el lenguaje MSIL en instruccionespropias al procesador del sistema que lo ejecuta, es decir, que la estructura.NET puede adaptarse y ejecutarse en distintos lenguajes y sistemas.

    Cabe notar que la arquitectura .NET utiliza el mismo motor CLR para compilar

    cualquier tipo de cdigo escrito en cualquiera de los lenguajes .NET, por ello,el rendimiento ser el mismo, sea cual sea el lenguaje escogido a la hora dedisear la aplicacin.

  • 8/14/2019 Programacin en ASP

    5/83

    Programacin en ASP .NET

    JEREYBE

    5

    Esquemticamente, la estructura .NET es:

    Figura 1. Estructura de Visual Studio .NET

    La arquitectura .NET, se destaca por la completa compatibilidad entre los

    distintos lenguajes a la hora de programar aplicaciones o servicios ASP .NET.

    Dentro del motor CLR se ejecuta un sistema llamado Common Types System.

    Base Class Library son unas bibliotecas de clases agrupadas por tipos, en

    funcin de las aplicaciones que tengan asignadas (seguridad,

    almacenamiento de datos, etc.). Cada uno de los distintos grupos de clases

    (Namespace) deriva de un grupo fundamental llamado System.

    En un nivel superior es donde se disean las aplicaciones, que pueden ser de

    ASP .NET como las tpicas de Microsoft (usando formularios para entornoslocales de ejecucin).

    Dentro de la estructura ASP .NET, podemos ejecutar aplicaciones y/o

    servicios ASP .NET, aplicaciones de ejecucin en red, tanto del lado del

  • 8/14/2019 Programacin en ASP

    6/83

    Programacin en ASP .NETJEREYBE

    6

    servidor como del cliente usando para ello formularios Web y otrasherramientas relacionadas con los servicios online.

    Las aplicaciones ASP .NET se sirven de formularios Web para facilitarenormemente la tarea de diseo y creacin. nicamente con seleccionar yarrastrar encima del formulario Web un determinado control, Visual Studio.NET se encarga de crear el cdigo HTML correspondiente. Una de las muchasventajas que ofrece la estructura ASP .NET es que, automticamente, seencarga de detectar el tipo de navegador utilizado por el cliente a la hora derealizar una peticin a nuestro servidor y en consecuencia, determina laversin HTML que ste soporta. Por ello, el programador de aplicaciones ASP.NET no tiene que preocuparse por la compatibilidad con los navegadores, ya

    que ASP .NET se encargar de confeccionar la respuesta adecuada al tipo denavegador que realiza la consulta.

    Los servicios Web son un tipo particular de aplicaciones ASP .NET pensadaspara ser utilizadas dentro de otras aplicaciones ASP .NET. La idea es crearaplicaciones Web ASP .NET de acceso en red que sean accesibles a otrasaplicaciones y de esta forma disminuir enormemente la cantidad de cdigonecesario para realizar una aplicacin. Por ejemplo, si queremos crear unaaplicacin ASP .NET encargada de realizar facturas a partir de los datos

    suministrados por un cliente y sabemos que existe un servicio Web que noscalcula el IVA (por ejemplo), lo podemos incluir dentro de nuestra aplicacin(mediante llamadas) y ahorrarnos el trabajo de codificarlo nosotros.

    Toda la estructura anterior est contenida en un entorno de desarrollo nicollamado Visual Studio .NET. Este nuevo y completo entorno sustituye laanterior coleccin de entornos aislados como eran Visual Basic 6, Visual C++ yVisual InterDev. En un mismo entorno (VB .NET) un programador puede crearaplicaciones Web o locales, usar VB .NET o Visual C# .NET, disear con

    formularios Web o Windows, directamente o mediante HTML.

  • 8/14/2019 Programacin en ASP

    7/83

    Capitulo II

    Estructura de ASP

    .NET

  • 8/14/2019 Programacin en ASP

    8/83

    Programacin en ASP .NETJEREYBE

    8

    El salto definitivo hacia la nueva estructura .NET vino motivado por el xitocomercial de la aplicacin Java 2 Enterprise Edition (J2EE). Microsoft al versea un segundo plano, cre una arquitectura integral que permita aldesarrollador de aplicaciones olvidarse completamente del sistemaoperativo, la gestin de memoria, etc., y mediante diferentes interfaces deprogramacin soportadas por bibliotecas y plataformas de ejecucincomunes, gestar aplicaciones y servicios Web o locales, esta arquitectura era.NET.

    La plataforma .NET integra software de distintos lenguajes, adems deprogramas por Internet y aplicaciones de servidores SQL Server. El objetivoes simplificar al mximo el cdigo necesario para crear una aplicacin.

    Con tal fin, Microsoft se ha querido adelantar al futuro creando unaarquitectura que permite la elaboracin de aplicaciones ejecutables enInternet, telfonos mviles, televisin digital, Intranets, etc. ste es el xitode .NET.

    Fundamentos de ASP .NET

    El entorno necesario para poder desarrollar aplicaciones ASP .NET es elnuevo producto de Microsoft: .NET Framework. Este entorno deprogramacin permite tratar ASP .NET como un lenguaje del tipo orientado aobjetos. En este punto es donde podemos afirmar que ASP .NET rompecompletamente con las anteriores versiones de ASP.

    Los puntos fundamentales de la nueva estructura ASP .NET son:

    Bsicamente, los lenguajes para programar ASP .NET son: VB .NET,

    JScript y el nuevo Visual C# .NET, aunque realmente existen ms de 20(Perl .NET, Cobol .NET, etc.).

    ASP .NET forma parte de la estructura .NET (lenguajes orientados aobjetos) y no es una versin ASP 4 (lenguajes interpretados).

  • 8/14/2019 Programacin en ASP

    9/83

    Programacin en ASP .NETJEREYBE

    9

    ASP .NET crea aplicaciones Web rpidas, escalables, manejables yflexibles, pero por encima de todo, son fciles de entender y codificar.

    El cdigo de las aplicaciones ASP .NET se compila a travs del motorCLR, que compila JIT. Optimiza y almacena la compilacin en memoriacach. Recuerde que el paso intermedio consista en traducirlo a unlenguaje comn MSIL.

    Los parmetros de configuracin se almacenan en archivos de tipoXML, porque es de lectura universal y se puede generar con cualquiereditor de textos.

    La seguridad de las aplicaciones ASP .NET es muy adaptable a lasnecesidades de cada situacin, pues se basa en un conjunto deesquemas de autorizacin que puede configurarse ampliamente.

    ASP .NET puede acceder al potente grupo de libreras y clases quecontiene .NET Framework para configurar transmisiones TCP/IP yDomain Name System (DNS), a travs de XML y con los servicios Web.

    Particularidades del lenguaje

    Los tres lenguajes subministrados por Microsoft para la programacin deaplicaciones Web con ASP .NET son JScript, VB .NET y Visual C# .NET. Otrosfabricantes han enunciado muchos ms: Python, Cobol .NET, Perl .NET, etc.

    JScript ha sido modificado para comportarse como un lenguaje orientado aobjetos. Antiguos desarrolladores notarn algunas diferencias, peroquedarn gratamente sorprendidos con los cambios efectuados.

    VB .Net reemplaza VBScript como base en la programacin ASP. El potencialde desarrollo, evidentemente, ha aumentado muchsimo pues no se velimitado al reducido nmero de funciones que posea el lenguaje script.

  • 8/14/2019 Programacin en ASP

    10/83

    Programacin en ASP .NETJEREYBE

    10

    El nuevo lenguaje C# .NET en su estructura de programacin se parecemucho a la del lenguaje C++. Se ha mejorado este ltimo eliminando loserrores y la optimizacin final se correspondera con C#.

    Gracias al entorno .NET Framework, una aplicacin Web escrita en unlenguaje determinado puede heredar funciones escritas en otros lenguajes. Asu vez, dicha aplicacin puede extenderse o referenciarse por otrasaplicaciones escritas en otros lenguajes.

    En definitiva, gracias al lenguaje comn de compilacin MSIL, lacomunicacin entre objetos y aplicaciones dentro de la arquitectura .NET noimplica ningn problema aadido.

    Hoy en da existen proyectos para ir ms all y poder extender el lenguajeMSIL entornos fuera de Windows (como hace Java). Son los proyectos Monoy Portable .NET.

    Ejecucin de los archivos ASP .NET

    Cuando un visitante quiere acceder a un sitio Web, escribe la direccin URL

    en el navegador y ste realiza una peticin HTML al servidor que estalojando ese sitio Web. En el momento en que el servidor recibe la peticin,determina el tipo de archivo solicitado y lo enva a la aplicacincorrespondiente para que lo procese.

    En el caso de paginas ASP .NET, stas son compiladas (normalmente si es laprimera vez que se seleccionan) y ejecutadas, reenviando al visitante losresultados de la consulta a travs de su navegador.

    La compilacin realizada la primera vez implica un lapso de tiempo dereenvo mayor que con las anteriores versiones de ASP, pero, a diferencia destas, para todas las sucesivas peticiones de la misma pgina ASP .NET larespuesta ser mucho ms rpida.

  • 8/14/2019 Programacin en ASP

    11/83

    Programacin en ASP .NETJEREYBE

    11

    Ejecucin del lado del Cliente

    En las aplicaciones ASP .NET se mezcla una parte de ejecucin del lado del

    cliente y otra del lado del servidor. Cuando una pgina Web ASP .NET esdescargada por el navegador de un visitante, en ella tambin se enva cdigopara realizar comprobaciones e iniciar funciones del lado del cliente y asliberar de recursos al servidor. Previamente, el servidor ha determinado eltipo de navegador del cliente y en consecuencia, ha codificado lasinstrucciones a una versin HTML que el navegador pueda soportar.

    Cuando el servidor recibe la respuesta de un formulario, los valores songuardados en una nueva herramienta de ASP .NET llamada bolsa de estado y

    son comprimidos y ocultados en una pgina llamada vista de estado. Elobjetivo es que, una vez enviado el formulario, ste recupere su aparienciaanterior.

    Debe de tener presente que los formularios Web no se comportan igual queun formulario Windows. En el ltimo, si rellenamos una casilla o borramos untexto, lo escondemos detrs de otro formulario, etc. Windows lo recuperarautomticamente sin que tengamos que codificar ni una sola lnea de cdigo.En el caso de los formularios Web, esto no es as.

    El procedimiento ms habitual para que un navegador realice una peticin aun servidor o le mande informacin es mediante el uso de los dos mtodosHTML: GET y POST.

    El mtodo GET almacena toda la informacin que requiere dentro de ladireccin URL.

    Cuando un navegador enva informacin mediante el mtodo POST, los datos

    se estructuran igual que en el mtodo GET, pero se ubican en una cabeceraHTML separada de la pgina, por lo que no son visibles. Por esta razn, en lamayora de los casos los programadores prefieren este mtodo. Cabe notarque en la cabecera tambin figura informacin til como el tipo denavegador utilizado, etc.

  • 8/14/2019 Programacin en ASP

    12/83

    Programacin en ASP .NET

    JEREYBE

    12

    Ejecucin del lado del Servidor

    Cuando el servidor recibe la peticin, localiza la pgina usando la URL. A

    continuacin y mediante especiales .DLL y objetos de la estructura .NET,compila y ejecuta la aplicacin ASP .NET para generar la respuesta. La

    respuesta es reenviada al navegador traducida a cdigo HTML y ste

    representa la respuesta en la pantalla del cliente.

    El ciclo simplificado de ejecucin del lado del servidor sera:

    Figura 2. Ciclo simplificado de ejecucin del lado servidor

    Con un poco de detalle, los pasos que se siguen en el servidor desde que serecibe la peticin hasta que se enva la respuesta son:

    1. Internet Information Sever (IIS) compara la URL de la peticin con una

    direccin fsica de del archivo en el sistema, traduciendo el directorio

  • 8/14/2019 Programacin en ASP

    13/83

    Programacin en ASP .NETJEREYBE

    13

    virtual, por ejemplo: /tiempo/index.aspx en un directorio del sistema,por ejemplo: C:\Inetpub\wwwroot\tiempo\index.aspx.

    2. Una vez se ha localizado el archivo, se identifica de qu tipo es,comparando la extensin .aspx con una lista que posee el sistema oporque lo identifica el propio cliente.

    3. Si sta es la primera vez que el cliente realiza una peticin sobre estapgina, ASP .NET la compila usando el motor CLR traducindola allenguaje MSIL y posteriormente, al cdigo binario, preparada paraejecutarse.

    4. El cdigo binario es una clase .DLL de la estructura .NET que sealmacena en un archivo temporal.

    5. La prxima vez que sea requerida esta pgina, el servidor comprobarsi el cdigo ha cambiado. Si es el mismo, entonces se omitir lacompilacin y se proceder automticamente a la ejecucin. En casocontrario, la clase es eliminada y el cdigo ASP .NET se vuelve acompilar.

    6. El cdigo compilado es ejecutado y los valores enviados en la peticin(GET o POST) son interpretados.

    7. El siguiente paso consiste en detectar el tipo de navegador que usa elcliente: Explorer, Netscape o telfono mvil (Wireless MarkupLenguaje).

    8. Se enva la respuesta al navegador del cliente.

  • 8/14/2019 Programacin en ASP

    14/83

    Capitulo III

    Instalacin del

    Servidor Web

  • 8/14/2019 Programacin en ASP

    15/83

    Programacin en ASP .NETJEREYBE

    15

    Estructura mnima necesaria

    Para poder desarrollar aplicaciones Web con ASP .NET, es necesario tener

    configurado el ordenador como un servidor Web.

    La estructura mnima necesaria para poder codificar, compilar y ejecutarpginas ASP .NET se basa en dos elementos: .NET Framework y IIS 5.Microsoft recomienda usar como sistemas operativos Windows XPProfessional o Windows TI Server, aunque tambin puede funcionar en lossistemas Windows 2000 Professional o Server.

    En todo caso, nosotros usaremos un entorno de desarrollo ms amplio en el

    que queden integradas todas las funciones y lenguajes, as como lasbibliotecas de clases, el motor de compilacin CLR y dems herramientas.Nos referimos, evidentemente, a Visual Studio .NET.

    Si el programador trabaja en un entorno Visual Studio .NET, no sernecesario que ejecute las funciones en la lnea de comandos (en MSDOS) yadems, podr trabajar con otros sistemas operativos: Windows NT 4.0,Windows Me y Windows 98.

    Instalacin de elementos necesarios

    El orden de instalacin de los distintos elementos de software que formarnnuestro servidor Web es inalterable. Si no se respeta, el servidor nofuncionar correctamente.

    Instalaremos en el orden siguiente:

    1. Sistema operativo (preferible Windows XP Profesional).2. Navegador: mnimo Internet Explorer 5.5.3. Internet Information Server 5 (IIS 5).4. SQL Server.5. .NET Framework.6. Visual Studio .NET.

  • 8/14/2019 Programacin en ASP

    16/83

    Programacin en ASP .NETJEREYBE

    16

    Instalacin de IIS 5

    Internet Information Server contiene el software necesario para que su

    ordenador pueda operar como un servidor Web. No es el ms potente ni elnico pero s el ms extendido y fcil de manejar. Usado junto a sistemasoperativos como Windows XP Professional, est haciendo una fuertecompetencia a servidores como Unix.

    IIS es compatible con otras herramientas Microsoft: Word, Excel, Access,Power Point, ADO, ODBC, ASP .NET, etc., por lo que las posibilidades deconstruccin y publicacin en Web son enormes.

    Su punto dbil es que no soporta un gran nmero de peticiones de clientes ala vez. Es muy til para el aprendizaje y uso como banco de pruebas deaplicaciones de servidor, pero no para emplearlo en grandes empresas.

    Junto con el paquete IIS 5, se incluye el servicio FTP de transferencia dearchivos, el servicio SMTP de correo electrnico, los servicios OLEDB, ADO deacceso a base de datos, etc.

    Antes de iniciar propiamente la instalacin de IIS 5, asegrese de que no est

    conectado a la red. Durante la instalacin, su sistema es muy vulnerable a losataques exteriores pues an no ha configurado su seguridad.

    Los pasos a seguir son:

    1. Seleccione Inicio Configuracin Panel de Control.

  • 8/14/2019 Programacin en ASP

    17/83

    Programacin en ASP .NET

    JEREYBE

    17

    Figura 3. Inicio, Configuracin, Panel de control

    2. En el Panel de Control, haga doble clic sobre el icono de Agregar o

    quitar programas.

    Figura 4. Panel de control, Agregar o quitar programas

  • 8/14/2019 Programacin en ASP

    18/83

    Programacin en ASP .NET

    JEREYBE

    18

    3. Seleccione Agregar o quitar componentes de Windows al lado

    izquierdo de la pantalla.

    Figura 5. Agregar o quitar componentes de Windows

    4. Seleccione Servicios de Internet Information Server (IIS).

    Figura 6. Asistente para componentes de Windows

  • 8/14/2019 Programacin en ASP

    19/83

    Programacin en ASP .NETJEREYBE

    19

    5. Pulse el botn Detalles y seleccione los recursos que desee instalar ensu servidor.

    Figura 7. Servicios de Internet Information Server

    6. Pulse Aceptar y luego Siguiente para proceder a la instalacin.Recuerde que necesitar usar el CDROM del Sistema Operativo.

    7. Al acabar, pulse Finalizar y cierre las ventanas de Agregar o quitarprogramas.

    Verificacin de las extensiones de Servidor

    El siguiente paso consistir en verificar que las extensiones del servidor FrontPage 2000 estn correctamente configuradas. Este paso lo deben comprobarobligatoriamente aquellos servidores que utilizan archivos del tipo FAT, que

    son mucho ms vulnerables a los hackers que los del tipo NTFS (los mscomunes). Si en este momento no sabe qu tipo usa su servidor, pulse con elbotn derecho sobre el icono de su disco duro (C:\) y en la ventanaPropiedades aparecer escrito.

  • 8/14/2019 Programacin en ASP

    20/83

    Programacin en ASP .NET

    JEREYBE

    20

    En cualquier caso, los pasos a seguir son:

    1. Seleccione Inicio Configuracin Panel de Control.

    Figura 8. Inicio, Configuracin, Panel de control

    2. En el Panel de Control, haga doble clic sobre el icono de Herramientas

    Administrativas.

    Figura 9. Panel de control, Herramientas administrativas

  • 8/14/2019 Programacin en ASP

    21/83

    Programacin en ASP .NET

    JEREYBE

    21

    3. Haga doble clic sobre el icono de Administracin de equipos. Esto

    activar una instancia del programa Microsoft Management Console

    (MMC).

    Figura 10. Herramientas administrativas, Administracin de equipos

    Figura 11. Administracin de Equipos, Servicios de Internet Information Server

  • 8/14/2019 Programacin en ASP

    22/83

    Programacin en ASP .NETJEREYBE

    22

    4. Expanda la carpeta Sitios Web. Seleccione con el botn derecho delratn Sitio Web predeterminado y a continuacin Todas las tareas,Comprobar extensiones de servidor.

    Figura 12. Administracin de equipos, Comprobacin de extensiones del servidor

    5. Responda No a la pregunta y finalmente pulse Cerrarpara salir.

    Caractersticas de IIS

    La primera caracterstica que nos llama la atencin es que no hace faltarebotar el servidor para detener y reiniciar el servicio de Internet. El controlsobre el funcionamiento del servidor Web se controla desde MMC. Adems,permite al administrador del servidor Web controlar el uso que de la CPUhacen los diferentes sitios Web y, en caso de requerirlo, puede limitar su uso.IIS puede manejar los mensajes de error para que sean ms detallados. Encaso de producirse un error en la ejecucin de un sitio Web, IIS lanzar al

    navegador un mensaje de error que, normalmente, consistir en traducir sucdigo numrico a una expresin inteligible.

    IIS permite que el administrador pueda acceder a l desde otro equipomediante la red. La recomendacin es que, aunque sea factible hacerlo, loevite pues no deja de ser muy peligroso.

  • 8/14/2019 Programacin en ASP

    23/83

    Programacin en ASP .NETJEREYBE

    23

    En cuanto a la seguridad, IIS ofrece una encriptacin de contraseasmediante hashing gracias a la cual el servidor aade informacin aleatoriaalrededor del password. As, en caso de ser interceptado, no se podr usar, adiferencia de anteriores versiones en las que se encriptaba nicamente elpassword.

    A nivel de comunicaciones, IIS soporta los sistemas Secure Sockets Layer (SSL)y Transport Layer Security (TLS) que restringen la comunicacin entre clientesy servidores; con ello se logra que el servidor verifique quin es el cliente queintenta acceder al sistema antes de que ste se autentifique en el servidor.

    Complementando los anteriores niveles de seguridad, tambin se pueden

    restringir el acceso al sistema a determinadas IP, o grupos de computadoraso dominios. ste suele ser el caso de las Intranets que estn al mismo tiempoen Internet. Dando nicamente permisos de acceso a los usuarios de laIntranet, evitamos que los usuarios de Internet tengan acceso a losdocumentos y archivos que pertenecen a la Intranet.

    IIS normalmente ejecuta y controla los sitios Web en un entorno comn.Pero, si queremos realizar pruebas con aplicaciones Web que puedenacarrear fallos en el sistema, IIS permite que se ejecuten Out of Process,

    aisladamente.

    Una gran novedad es que IIS permite crear varios sitios Web con una sola IP.Gracias a las cabeceras del servidor host, una empresa puede hospedardistintos sitios Web con una sola IP merced al direccionamiento del IP, estoes, que cada cliente tendr su propio dominio (realmente subdominio) y su IPparticular.

    Una limitacin de IIS es el correo electrnico, pues slo permite el envo de

    correo (SMTP, SimpleMail Transfer Protocol) y no la recepcin (POP3, PostOffice Protocol).

    Se debe destacar la funcionalidad del servicio FrP para la publicacin en red odescarga de archivo. En esta versin de IIS se permite continuar una descargainterrumpida.

  • 8/14/2019 Programacin en ASP

    24/83

    Programacin en ASP .NETJEREYBE

    24

    La compresin de HTTP permite aumentar la velocidad de transmisin desitios Web en el caso de ancho de banda limitado. Y, finalmente, el servicioMicrosoft Index Server (MIS) permite indexar toda la informacin referente alos sitios Web que contiene un servidor IIS para facilitar su consulta. De estemodo se puede configurar un buscador Web.

    Acceder al Servidor Web

    Podemos acceder al servidor Web para comprobar si se ha instaladocorrectamente IIS. Para ello simplemente debemos escribirhttp://localhost/localstart.asp en Internet Explorer y debera aparecer una

    pgina Web informando que IIS est correctamente instalado. Adems,aparecer la documentacin de IIS en una ventana emergente, si es que fueinstalada.

    Figura 13. Pgina Web de informacin de IIS

  • 8/14/2019 Programacin en ASP

    25/83

    Programacin en ASP .NETJEREYBE

    25

    Figura 14. Documentacin de IIS 5.1

  • 8/14/2019 Programacin en ASP

    26/83

    Capitulo IV

    Instalacin de Visual

    Studio .NET

  • 8/14/2019 Programacin en ASP

    27/83

    Programacin en ASP .NETJEREYBE

    27

    Preparacin del entorno de trabajo

    Antes de poder comenzar a escribir aplicaciones para .NET Framework,

    debemos instalar en nuestra mquina de trabajo las herramientas que nospermitirn el desarrollo de programas para este entorno de ejecucin.

    .NET Framework SDK

    Se trata del kit de desarrollo de software para .NET Framework (SoftwareDevelopment Kit o SDK), que contiene la propia plataforma .NET y unconjunto de herramientas independientes, algunas funcionan en modo

    comando (en una ventana MSDOS) y otras en modo grfico. Los elementosimprescindibles para poder desarrollar aplicaciones para .NET estncontenidos en este conjunto de herramientas.

    Visual Studio .NET

    Es la nueva versin de la familia de herramientas de desarrollo de softwarede Microsoft, naturalmente orientadas hacia su nuevo entorno de

    programacin: .NET Framework.

    Si bien es posible la escritura de programas empleando slo el SDK de .NETFramework, este ltimo, al estar compuesto de herramientasindependientes, constituye un medio ms cmodo de trabajo.

    Visual Studio .NET al tratarse de un entorno de desarrollo integrado(Integrated Development Environment o IDE), an a todas las herramientasdel SDK: compiladores, editores, ayuda, etc., facilitando en gran medida la

    creacin de programas.

    Por este motivo, todas las explicaciones y ejemplos desarrollados a lo largode este texto se harn basndose en este entorno de programacin.

  • 8/14/2019 Programacin en ASP

    28/83

    Programacin en ASP .NETJEREYBE

    28

    Requisitos Hardware

    La siguiente tabla muestra una lista con las caractersticas mnimas y

    recomendadas que debe tener el equipo en el que instalemos Visual Studio.NET.

    Mnimo Recomendado

    Procesador Pentium II 450 MHz Pentium IV 2.80 GHz

    Memoria 128 MB 512 MB

    Espacio en disco duro 3 GB

    Tabla 1. Caractersticas mnimas y recomendadas para instalar Visual Studio .NET

    Sistema Operativo

    Visual Studio .NET puede ser instalado en un equipo con uno de lossiguientes sistemas operativos:

    Windows 2000 (se requiere tener instalado Service Pack 2).

    Windows NT 4.0. (se requiere tener instalado Service Pack 5).

    Windows Me.

    Windows 98.

    Windows XP Professional.

    Para aprovechar todo el potencial de desarrollo de la plataforma, es

    recomendable usar como sistema operativo Windows XP Professional, ya queciertos aspectos del entorno (las caractersticas avanzadas de gestin grficapor ejemplo) no estn disponibles si instalamos .NET en otro sistema conmenos prestaciones.

  • 8/14/2019 Programacin en ASP

    29/83

    Programacin en ASP .NETJEREYBE

    29

    Instalacin de Visual Studio .NET

    Microsoft Visual Studio .NET Enterprise Architect 2003 (Versin 7.1.6030), se

    compone de tres CDROMs de instalacin del producto.

    Procederemos insertando el disco de instalacin rotulado como MicrosoftVisual Studio .NET Enterprise Architect 2003 01, el cul detectar si esnecesario actualizar algn componente a nivel del Sistema Operativo,pulsaremos sobre el paso 1 Visual Studio .NET Prerequisites, en el que se nospedir el disco rotulado con el mismo nombre.

    Figura 15. Seleccin de prerrequisitos para Visual Studio .NET

    Una vez insertado el disco de Visual Studio .NET Prerequisites, se mostrar lapantalla de la Figura 16. En caso de aceptar el contrato de licencia pararequisitos previos, haremos clic sobre Continuar, para que el instaladordetecte qu componentes faltan por actualizar.

  • 8/14/2019 Programacin en ASP

    30/83

    Programacin en ASP .NETJEREYBE

    30

    Figura 16. Contrato de licencia para requisitos previos

    Una vez detectados los componentes que necesitan actualizacin, sernmostrados a continuacin en la lista de la Figura 17, donde daremos clicsobre Instalar ahora, con lo que se proceder a la actualizacin de loscomponentes de la lista. Una vez terminada esta actualizacin, daremos clicsobre Listo y seguiremos con la instalacin normal de Visual Studio .NET, loque nos requerir de nuevo la introduccin del disco de instalacin rotuladocomo Microsoft Visual Studio .NET Enterprise Architect 2003 01.

    Figura 17. Lista de componentes necesarios para Visual Studio .NET

  • 8/14/2019 Programacin en ASP

    31/83

    Programacin en ASP .NETJEREYBE

    31

    Una vez actualizado los componentes del sistema, el siguiente paso ser lainstalacin de Visual Studio .NET, que pondremos en marcha al hacer clicsobre el paso 2 de la instalacin, que tiene el nombre de Visual Studio .NET.Ver Figura 18.

    Figura 18. Instalacin de Visual Studio .NET

    A continuacin se mostrar la pantalla con la informacin del contrato delicencia de Visual Studio .NET. En caso de estar de acuerdo con todos estos

    trminos y aceptar el contrato, haremos clic sobre Continuar. Ver Figura 19.

    Figura 19. Informacin del contrato de licencia de Visual Studio .NET

  • 8/14/2019 Programacin en ASP

    32/83

    Programacin en ASP .NETJEREYBE

    32

    A continuacin debemos seleccionar aquellos elementos del producto quedeseamos instalar, el entorno de ejecucin, lenguajes, utilidades, ayuda, etc.,y su ubicacin en el disco duro, como muestra la Figura 20. Terminada laseleccin, pulsaremos sobre Instalar ahora para que comience el proceso.

    Figura 20. Seleccin de los elementos a instalar de Visual Studio .NET

    Este proceso de instalacin nos indica el archivo que se est instalando encada momento, as como la informacin de su estado a travs de una barrade progreso, el tiempo aproximado para realizar una instalacin es de dos

    horas. Ver Figura 21.

    Figura 21. Informacin sobre el progreso de la instalacin

  • 8/14/2019 Programacin en ASP

    33/83

    Programacin en ASP .NETJEREYBE

    33

    Durante la instalacin, el programa solicitar el disco de instalacin rotuladocomo Microsoft Visual Studio .NET Enterprise Architect 2003 02.

    Concluida la instalacin, el programa nos informar de si se produjo algunaincidencia. En caso de que no se hayan producido errores, finalizaremoshaciendo clic sobre Listo, con lo que ya tendremos instalado Microsoft VisualStudio .NET Enterprise Architect 2003 en nuestro ordenador. Ver Figura 22.

    Figura 22. Instalacin completa

  • 8/14/2019 Programacin en ASP

    34/83

    Capitulo V

    Uso de Visual Studio

    .NET

  • 8/14/2019 Programacin en ASP

    35/83

    Programacin en ASP .NETJEREYBE

    35

    Introduccin

    Visual Studio .NET es el entorno de desarrollo global que se utiliza para crear

    potentes y fiables soluciones Web empresariales. Ofreciendo capacidades dedesarrollo Web extremo a extremo y componentes de servidor escalables yreutilizables, Visual Studio .NET permite incrementar la productividad yayudar a crear aplicaciones y sitios Web ASP.NET ms eficazmente.

    Por qu Visual Studio .NET?

    Visual Studio .NET simplifica el desarrollo de soluciones Web empresariales

    potentes y fiables e incrementa la eficacia del desarrollador al proporcionarun entorno de desarrollo compartido y familiar. Los componentes yadesarrollados, los asistentes de programacin y la posibilidad de reutilizarcomponentes escritos en cualquier lenguaje pueden reducirsignificativamente el tiempo de desarrollo. La opcin de completar el cdigobasada en Microsoft IntelliSense permite producir cdigo preciso msrpidamente. El potente soporte de depuracin multilenguaje extremo aextremo ayuda a que las aplicaciones estn operativas ms rpidamente.

    Visual Studio .NET tiene un nico IDE que proporciona un aspecto coherente,con independencia del lenguaje de programacin que se utilice o el tipo deaplicacin que se desarrolle. Las caractersticas que antes estabandisponibles para un nico lenguaje, ahora estn disponibles para todos loslenguajes.

    Visual Studio .NET soporta el desarrollo en varios de los lenguajes basados enMicrosoft .NET. Este soporte de diversos y distintos lenguajes permite a losdesarrolladores trabajar con el lenguaje que prefieran, puesto que ya no

    necesitan aprender un nuevo lenguaje para cada nuevo proyecto.

    Los lenguajes que se incluyen en Visual Studio .NET son:

    Microsoft Visual Basic .NET C#

  • 8/14/2019 Programacin en ASP

    36/83

    Programacin en ASP .NETJEREYBE

    36

    J#

    Microsoft Visual C++

    Visual Studio .NET soporta el desarrollo de mltiples tipos de proyectos, queabarcan desde aplicaciones basadas en Microsoft Windows hastaaplicaciones Web ASP.NET y servicios Web XML.

    Este soporte para mltiples tipos de proyectos permite trabajar de formasimultnea en varios proyectos sin necesidad de cambiar el entorno dedesarrollo o aprender nuevas interfaces de herramientas o lenguajes.

    Visual Studio .NET contiene un navegador integrado basado en Microsoft

    Internet Explorer. El navegador est integrado en el IDE y puede accederse al desde mltiples ventanas y mens.

    Esta accesibilidad al navegador permite visualizar el sitio Web durante el ciclode desarrollo sin tener que transferir a otro programa y volver a escribir lascadenas de la URL (Uniform Resource Locator).

    Visual Studio .NET est diseado para soportar depuracin desde el cdigoinicial hasta el despliegue de la aplicacin. El soporte de depuracin incluye

    puntos de interrupcin, expresiones break, expresiones watch y la posibilidadde recorrer el cdigo de instrucciones o procedimientos paso a paso.

    El IDE de Visual Studio .NET puede personalizarse a nivel de ventanas yherramientas. Por tanto, podemos mostrar nicamente las herramientas oventanas que utilicemos en un momento determinado y ocultar el resto.

    Pgina de inicio

    Cada vez que iniciamos Visual Studio .NET, se muestra la pgina de inicio.Esta pgina proporciona una ubicacin centralizada para establecerpreferencias, leer noticias sobre productos, acceder a discusiones con otrosdesarrolladores y obtener otra informacin que puede utilizarse parainiciarse en el entorno de Visual Studio .NET.

  • 8/14/2019 Programacin en ASP

    37/83

    Programacin en ASP .NETJEREYBE

    37

    Podemos visualizar la pgina de inicio en cualquier momento mientrastrabajamos en el entorno de desarrollo.

    Figura 23. Pgina de inicio

    Si hacemos clic en Introduccin, la ayuda dinmica muestra temas sobre elinicio de nuevos proyectos, y se muestran las dos carpetas siguientes:

    Proyectos

    La carpeta Proyectos muestra enlaces a los ltimos proyectos en losque se ha trabajado. Esta carpeta permite abrir rpidamente VisualStudio .NET y cargar todos los archivos relacionados con los proyectosactuales.

    Recursos en lnea

    Hacer clic en Comunidad en lnea proporciona acceso a los sitios deMicrosoft Visual Studio .NET Web y los grupos de noticias relacionados.

  • 8/14/2019 Programacin en ASP

    38/83

    Programacin en ASP .NETJEREYBE

    38

    Mi perfil

    Hacer clic en Mi perfil permite establecer un perfil de usuario queajusta el cuadro de herramientas, el nuevo proyecto predeterminado yla ayuda dinmica para adaptarlos a nuestras preferencias deprogramacin. Podemos cambiar nuestro perfil en cualquier momentopara modificar estas opciones de configuracin personalizadas.

    Tenemos la opcin de escoger un perfil ya existente, comoDesarrollador Visual Basic, o modificar manualmente cada uno de loselementos del perfil.

    Plantillas de proyectos disponibles

    Visual Studio .NET proporciona plantillas que soportan la creacin de lostipos de proyectos ms habituales. Estas plantillas contienen todos losarchivos necesarios y trabajan con nuestro perfil para ajustar el IDE a laconfiguracin correcta del proyecto seleccionado.

    Estas plantillas nos ayudan a aprovechar mejor el tiempo al permitir que nos

    concentremos en agregar funciones al proyecto y no tener que establecer lainfraestructura cada vez que cambiamos de tipo de proyecto.

    Cuando creamos un proyecto en Visual Studio .NET, tambin creamos uncontenedor de mayor tamao denominado Solucin. Esta Solucin puedecontener mltiples proyectos, del mismo modo que un contenedor deproyectos puede contener mltiples pginas.

    Las soluciones permiten que nos concentremos en el proyecto o conjunto de

    proyectos necesarios para desarrollar e implementar nuestra aplicacin, enlugar de tener que centrarnos en los detalles de administracin de losobjetos y de los archivos que los definen. Al utilizar el concepto de Solucincomo contenedor, sta nos permite:

    Trabajar con mltiples proyectos en una misma instancia del IDE.

  • 8/14/2019 Programacin en ASP

    39/83

    Programacin en ASP .NETJEREYBE

    39

    Trabajar con elementos, configuraciones y opciones aplicables a ungrupo de proyectos.

    Administrar archivos miscelneos que se abren fuera del contexto deuna Solucin o de un Proyecto.

    Utilizar el Explorador de soluciones, que es una visualizacin grfica denuestra solucin, para organizar y administrar todos los proyectos yarchivos necesarios para disear, desarrollar e implementar unaaplicacin.

    Visual Studio .NET incluye mltiples plantillas de proyectos clasificadas porlenguaje y tipo. Para seleccionar la plantilla correcta, es necesario especificarantes el lenguaje en el que trabajaremos.

    Las plantillas de proyectos disponibles en Visual Basic y Microsoft Visual C#incluyen:

    Aplicacin para Windows

    La plantilla de proyecto Aplicacin para Windows se utiliza para crearaplicaciones Windows estndar. Esta plantilla agrega automticamentelas referencias y archivos de proyecto esenciales que la aplicacinnecesita como punto de inicio.

    Biblioteca de clases

    La plantilla Biblioteca de clases se utiliza para crear clases ycomponentes reutilizables que pueden compartirse con otros

    proyectos.

    Biblioteca de controles de Windows

    La plantilla Biblioteca de controles de Windows se utiliza para crearcontroles personalizados para usarlos en formularios Windows Forms.

  • 8/14/2019 Programacin en ASP

    40/83

    Programacin en ASP .NETJEREYBE

    40

    Aplicacin Web ASP.NET

    La plantilla de proyecto Aplicacin Web ASP.NET se utiliza para crearuna aplicacin Web ASP.NET en un equipo en el que se haya instaladoInternet Information Server (IIS) versin 5.0 o posterior. La plantillacrea los archivos bsicos que se necesitan en el servidor como ayudapara iniciar el diseo de la aplicacin.

    Servicio Web ASP.NET

    La plantilla de proyecto Servicio Web ASP.NET se utiliza para escribir unservicio Web XML que pueda ser consumido por otros servicios o

    aplicaciones Web en una red. Los servicios Web XML son componentesdisponibles en Internet y estn diseados para interactuar nicamentecon otras aplicaciones Web.

    Biblioteca de controles Web

    La plantilla Biblioteca de controles Web se utiliza para crear controlesde servidor Web personalizados. La plantilla agrega los elementos deproyecto necesarios para iniciar la creacin de un control que pueda

    agregarse posteriormente a cualquier proyecto Web.

    Aplicacin de consola

    Normalmente, las aplicaciones de consola se disean sin una IU grficay se compilan en un archivo ejecutable autnomo. Una aplicacin deconsola se ejecuta desde la lnea de comandos intercambiando lainformacin de entrada y de salida entre el smbolo de sistema y laaplicacin que se est ejecutando.

    Servicio de Windows

    La plantilla Servicio de Windows se utiliza para crear aplicaciones deservicios de Windows, aplicaciones ejecutables de ejecucin de largaduracin que se ejecutan en su propia sesin de Windows.

  • 8/14/2019 Programacin en ASP

    41/83

  • 8/14/2019 Programacin en ASP

    42/83

    Programacin en ASP .NETJEREYBE

    42

    Entorno de desarrollo integrado (IDE)

    El IDE de Visual Studio .NET contiene mltiples ventanas que proporcionan

    diversas herramientas y servicios. Muchas de las caractersticas de VisualStudio .NET estn disponibles desde varias de las ventanas, mens y barrasde herramientas del IDE.

    No podemos mover ni ocultar las ventanas del IDE dependiendo de nuestraspreferencias personales. El men Ver se utiliza para seleccionar las ventanasa mostrar. Podemos hacer clic en el botn del alfiler Ocultarautomticamente para convertir ventanas estticas en ventanasemergentes.

    Figura 25. Entorno de Desarrollo Integrado de Microsoft Visual Studio .NET

    Editor/navegador

    El editor/navegador es la ventana de interfaz principal de Visual Studio .NET.En modo editor, el editor/navegador muestra el cdigo para editar y

  • 8/14/2019 Programacin en ASP

    43/83

    Programacin en ASP .NETJEREYBE

    43

    proporciona una interfaz grfica qu usted ve es lo que usted consigue, parala ubicacin de los controles. Podemos arrastrar y soltar para crear el diseovisual de nuestra aplicacin. A continuacin, podemos gestionar el diseolgico de la aplicacin modificando el cdigo del control Webpredeterminado.

    Hay dos opciones para pantalla del editor: modo Diseo y modo HTML:

    Modo Diseo

    En modo Diseo, el editor permite mover los controles y los elementosgrficos por la ventana mediante una sencilla operacin de arrastrar y

    soltar.

    Visual Studio .NET proporciona dos esquemas de posicionamiento decontroles para disear pginas Web: FlowLayout y GridLayout. EnFlowLayout, los controles se ubican en la pgina uno a continuacin delotro, mientras que GridLayout permite posicionar con exactitud cadacontrol, agregando automticamente etiquetas DHTML (DynamicHypertext Markup Language) a los controles.

    Cuando agregamos un control a una pgina Web en modo Diseo,Visual Studio .NET agrega al formulario Web Form cdigo de soporte ypredetermina las propiedades. A continuacin, podemos cambiar amodo HTML para mostrar el cdigo y editarlo.

    Modo HTML

    En modo HTML, Visual Studio .NET destaca nuestro cdigo para que losdistintos elementos, como los nombres de variables y las palabras

    clave, sean identificables al instante. La caracterstica de IntelliSenseproporciona sugerencias para la finalizacin automtica y permitegenerar funciones simplemente seleccionando desde listas de sintaxisdisponibles.

  • 8/14/2019 Programacin en ASP

    44/83

    Programacin en ASP .NET

    JEREYBE

    44

    Cuando utilizamos la ventana del editor en modo HTML, aparecen dos

    listas desplegables en la parte superior de la ventana: la lista Nombre

    de Clase, a la izquierda, y la lista Nombre de Mtodo, a la derecha. La

    lista Nombre de Clase muestra todos los controles del formulario

    asociado. Si hacemos clic en el nombre de un control de la lista, la lista

    Nombre de Mtodo mostrar todos los eventos de ese control. Los

    eventos son acciones que puede realizar el control y que pueden ser

    interpretadas por nuestra aplicacin. Utilizando conjuntamente las

    listas Nombre de Clase y Nombre de Mtodo, podemos localizar y

    editar rpidamente el cdigo de nuestra aplicacin.

    Figura 26. Editor/ Navegador

    Examinador de objetos

    El Examinador de objetos es una herramienta que proporciona informacin

    sobre los objetos y sus mtodos, propiedades, eventos y constantes.

  • 8/14/2019 Programacin en ASP

    45/83

    Programacin en ASP .NET

    JEREYBE

    45

    Figura 27. Examinador de objetos

    Explorador de soluciones

    El Explorador de soluciones muestra la jerarqua de los archivos del proyecto.

    Desde esta ventana, podemos mover y modificar archivos, por ejemplo:

    Utilizar una operacin de arrastrar y soltar para reorganizar elementos.

    Seleccionar un elemento del Explorador de soluciones y la ventana

    Propiedades mostrar las propiedades de ese elemento. Esto permite

    cambiar las propiedades a nivel de proyecto o de pgina.

    Hacer clic con el botn derecho en el archivo, proyecto o solucin para

    ver las opciones disponibles, incluyendo agregar, generar y editar

    pginas.

    Los tipos de archivos que muestra el Explorador de soluciones incluyen:

    Referencias de proyectos que listan las clases que utiliza la pgina y los

    controles Web.

    Todos los formularios Web Forms del proyecto.

  • 8/14/2019 Programacin en ASP

    46/83

    Programacin en ASP .NET

    JEREYBE

    46

    Todas las pginas de cdigo subyacente que contienen la lgica que

    soporta los formularios Web Forms.

    Carpetas relacionadas con proyectos y subelementos.

    Figura 28. Explorador de soluciones

    Ayuda dinmica

    La ayuda dinmica proporciona acceso a temas de la ayuda local y en lnea,

    en funcin de la configuracin de Mi perfil, el Tipo de proyecto y la ubicacin

    actual del cursor. A medida que nos movemos por el IDE o editamos cdigo,las opciones disponibles en la ayuda dinmica se ajustan para corresponderse

    con nuestra actividad.

    Figura 29. Ayuda dinmica

  • 8/14/2019 Programacin en ASP

    47/83

    Programacin en ASP .NETJEREYBE

    47

    Propiedades

    Visual Studio .NET permite ajustar las propiedades de documentos, clases y

    controles utilizando una ventana comn de Propiedades. Cuando creamos oseleccionamos un elemento, la ventana Propiedades muestraautomticamente las propiedades relacionadas. Como muestra la siguienteilustracin, las propiedades disponibles se listan en la columna izquierda,mientras que las opciones de configuracin se listan a la derecha.

    Figura 30. Propiedades

    Lista de tareas

    La Lista de Tareas permite hacer un seguimiento del estado de las tareasmientras se desarrollan las aplicaciones. Visual Studio .NET tambin utiliza laLista de tareas para sealar errores cuando se genera una aplicacin.

    Existen varias formas de agregar una tarea a la Lista de tareas, por ejemplo:

    Agregar tareas manualmente, haciendo clic en la Lista de tareas eintroduciendo elementos. La tarea superior de la Lista de tareas en lasiguiente imagen de pantalla es una tarea aadida manualmente.

  • 8/14/2019 Programacin en ASP

    48/83

    Programacin en ASP .NET

    JEREYBE

    48

    Visual Studio .NET agrega automticamente una tarea con smbolos,

    como el comentario 'TODO en el cdigo. La segunda tarea de la

    siguiente imagen de pantalla ha sido aadida automticamente por

    Visual Studio .NET debido a un comentario 'TODO del cdigo. Para

    acceder a esta seccin del cdigo, hacemos clic en el elemento de la

    Lista de tareas y Visual Studio .NET abrir la pgina referida en esa

    lnea de comentario. Existen varios smbolos (tokens) preestablecidos

    que pueden utilizarse en el cdigo y que aadirn automticamente

    una tarea a la Lista de tareas. Ver y agregar a la lista de smbolos:

    a) En el men Herramientas, hacer clic en Opciones.

    b) b. En el cuadro de dilogo Opciones, en la carpeta Entorno,hacer clic en Lista de tareas.

    Visual Studio .NET agrega automticamente los errores producidos en

    la generacin a la Lista de tareas. La tarea inferior de la siguiente

    imagen de pantalla se aadi automticamente cuando se gener la

    pgina. Para acceder a esta seccin del cdigo, hacer clic en el

    elemento de la lista de tareas y Visual Studio .NET abrir la pgina

    referida en la lnea que contiene el error.

    Figura 31. Lista de tareas

    Explorador de servidores

    El Explorador de servidores permite examinar conexiones a datos locales,

    servidores y servicios de Windows. El Explorador de servidores soporta la

    integracin de servicios externos en nuestro sitio Web.

  • 8/14/2019 Programacin en ASP

    49/83

    Programacin en ASP .NET

    JEREYBE

    49

    Figura 31. Explorador de servidores

    Cuadro de herramientas

    El Cuadro de herramientas permite arrastrar y soltar los controles que

    formarn nuestra aplicacin.

    Las herramientas disponibles se agrupan por categoras en los siguientes

    mens:

    Datos

    Esta categora contiene objetos que permiten a la aplicacin

    conectarse y acceder a datos de una base de datos Microsoft SQL

    Server y otras bases de datos.

    Web Forms

    Esta categora contiene un conjunto de controles de servidor que

    pueden agregarse a pginas Web.

    Componentes

    Esta categora contiene componentes que soportan la infraestructura

    de nuestra aplicacin.

  • 8/14/2019 Programacin en ASP

    50/83

    Programacin en ASP .NETJEREYBE

    50

    HTML

    Esta categora contiene un conjunto de controles HTML que puedenagregarse a la pgina Web. Estos controles pueden ejecutarse tanto enel lado servidor como en el lado cliente.

    Figura 32. Cuadro de herramientas

    Crear un proyecto de aplicacin Web ASP.NET

    Visual Studio .NET contiene todo lo necesario para generar una aplicacinWeb ASP.NET de principio a fin.

    Crear una aplicacin Web ASP.NET con Visual Studio .NET implica lossiguientes pasos bsicos:

    1. Crear una especificacin de diseo.

    La especificacin de diseo es la gua que utilizaremos cuando creemosuna aplicacin Web. Debemos tomarnos tiempo antes de escribircdigo para disear la aplicacin que crearemos. Aunque Visual Studio.NET proporciona herramientas que nos ayudan a desarrollarrpidamente una solucin, tener una idea clara de las necesidades del

  • 8/14/2019 Programacin en ASP

    51/83

    Programacin en ASP .NETJEREYBE

    51

    usuario y del conjunto inicial de caractersticas nos ayudar a ser mseficaces en nuestro trabajo de desarrollo. Empezar con unaespecificacin de diseo tambin nos ayudar a ahorrar tiempominimizando el potencial de reescritura de cdigo debido a una pobreo inexistente especificacin de diseo.

    2. Crear un nuevo proyecto.

    Cuando seleccionamos una nueva plantilla de proyecto, Visual Studio.NET crea automticamente los archivos y el cdigo predeterminadonecesarios para soportar el proyecto.

    Como parte de esta creacin inicial del proyecto, deberamos transferirlas principales tareas de codificacin desde nuestra especificacin dediseo a la Lista de tareas de Visual Studio .NET. Esta transferenciapermite hacer un seguimiento de nuestro desarrollo contra laespecificacin.

    3. Crear la interfaz.

    Para crear la interfaz de nuestra aplicacin Web, en primer lugar

    necesitaremos ubicar controles y objetos en las pginas Web utilizandola ventana Editor/Navegador en modo Diseo.

    A medida que agregamos objetos a un formulario, podemos establecersus propiedades desde la tabla en la ventana Propiedades o comocdigo en la ventana de Edicin.

    4. Escribir cdigo.

    Tras establecer las propiedades inciales del formulario Web FormASP.NET y sus objetos, podremos escribir los procedimientos deeventos que se ejecutarn al realizar diferentes acciones sobre uncontrol u objeto.

  • 8/14/2019 Programacin en ASP

    52/83

    Programacin en ASP .NETJEREYBE

    52

    Es posible que tambin necesitemos escribir cdigo para agregar lgicade negocio y para acceder a datos.

    5. Generar.

    Cuando generamos un proyecto, compilamos todo el cdigo de laspginas Web y dems archivos de clases en una librera de enlacedinmico (DynamicLink Library, DLL) denominada ensamblado.

    Visual Studio .NET tiene dos opciones de generacin: debug y release.Cuando desarrollamos un proyecto por primera vez, generamosversiones de depuracin. Cuando estamos preparados para liberar el

    proyecto, crearemos una versin release del proyecto.

    6. Probar y depurar.

    Probar y depurar no es un paso a realizar una nica vez, sino algo quese realiza repetidamente durante el proceso de desarrollo. Cada vezque realizamos un cambio importante, es necesario generar unaversin de depuracin de la aplicacin para asegurarnos de quefunciona segn lo previsto.

    Visual Studio .NET ofrece numerosas herramientas de depuracin quepodemos utilizar para encontrar y solucionar errores de nuestraaplicacin.

    7. Implementar.

    Cuando un proyecto est totalmente depurado y se ha generado unaversin release, podemos implantar los archivos generados en un

    servidor Web en produccin.

  • 8/14/2019 Programacin en ASP

    53/83

    Programacin en ASP .NET

    JEREYBE

    53

    Figura 33. Crear un proyecto de aplicacin Web con Visual Studio .NET

    Archivos en aplicaciones Web

    Cuando creamos un nuevo proyecto o trabajamos con proyectos existentes,

    Visual Studio .NET crea un determinado conjunto de archivos que soportan

    nuestro desarrollo.

    Al crear un nuevo proyecto, tambin se crea una solucin, aunque la solucin

    nicamente tenga un proyecto. Se crea una carpeta para cada solucin en la

    carpeta \Mis documentos\Visual Studio Projects que contiene los archivos

    .sln y .suo.

    Archivos de solucin (.sln)

    La extensin de archivo NombreSolucin.sln se utiliza para archivos de

    solucin que enlazan uno o ms proyectos, y almacena informacin

    global. Los archivos .sln son similares a los archivos de grupo Visual

    Basic (.vbg), que aparecen en versiones anteriores de Visual Basic.

  • 8/14/2019 Programacin en ASP

    54/83

    Programacin en ASP .NETJEREYBE

    54

    Solution User Options (.suo)

    La extensin de archivo NombreSolucin.suo se utiliza para archivosque acompaan los registros de solucin y las personalizaciones queagreguemos a nuestra solucin. Este archivo guarda nuestraconfiguracin, como puntos de interrupcin y elementos de tareas,para que sean recuperados cada vez que abramos la solucin.

    Cada proyecto es una nica aplicacin Web almacenada en su propia carpeta.Dentro de la carpeta de proyecto se encuentra el archivo de configuracindel proyecto y los archivos reales que constituyen el proyecto. El archivo deconfiguracin del proyecto es un documento XML que contiene referencias a

    todos los elementos del proyecto, como formularios y clases, adems dereferencias de proyecto y opciones de compilacin.

    Los archivos de proyecto Visual Basic .NET utilizan una extensin .vbproj.Estas extensiones permiten diferenciar entre archivos escritos en otroslenguajes compatibles con .NET y facilitan la inclusin de mltiples proyectosbasados en diferentes lenguajes en la misma solucin.

    Los proyectos de aplicaciones Web se crean en una nueva carpeta

    \Inetpub\wwwroot. Adems, en IIS, se crea un directorio virtual que apuntaa la carpeta del proyecto.

    Visual Studio .NET soporta varios tipos de archivos de aplicaciones yextensiones:

    Formularios Web Forms ASP.NET (.aspx)

    Los formularios Web Forms ASP.NET se utilizan cuando es necesario

    generar sitios Web dinmicos a los que los usuarios accederndirectamente. Los formularios Web Forms ASP.NET pueden estarsoportados por una pgina de cdigo subyacente diseada por laextensin WebForm.aspx.vb.

    Servicios Web ASP.NET (.asmx)

  • 8/14/2019 Programacin en ASP

    55/83

    Programacin en ASP .NETJEREYBE

    55

    Los servicios Web se utilizan cuando deseamos crear sitios Webdinmicos a los que nicamente accedern otros programas.

    Los servicios Web ASP.NET pueden estar soportados por una pgina decdigo subyacente designada por la extensin WebService.asmx.vb oWebService.asmx.vb.

    Clases y pginas de cdigo subyacente (.vb)

    Las versiones anteriores de Visual Basic utilizaban diferentesextensiones de archivo para distinguir entre clases (.cls), formularios

    (.frm), mdulos (.bas), y controles de usuario (.ctl). Visual Basic .NETpermite mezclar mltiples tipos en un nico archivo .vb.

    Las pginas de cdigo subyacente utilizan dos extensiones: el tipo depgina (.aspx o .asmx) y la extensin de Visual Basic (.vb). Por ejemplo,el nombre de archivo completo para la pgina de cdigo subyacente deun formulario Web Form ASP.NET predeterminado esWebForm1.aspx.vb para un proyecto Visual Basic .NET.

    Archivos de descubrimiento (.disco y .vsdisco)

    Los archivos de descubrimiento son archivos basados en XML quecontienen enlaces (URLs) a recursos que proporcionan informacinpara el descubrimiento programtico de un servicio Web XML.

    Clases de aplicacin global (global.asax)

    El archivo Global.asax, tambin conocido como el archivo de la

    aplicacin ASP.NET, es un archivo opcional que contiene cdigo pararesponder a eventos a nivel de aplicacin provocados por ASP.NET opor HttpModules. En tiempo de ejecucin, se parsea Global.asax y secompila en una clase .NET Framework generada dinmicamente yderivada de la clase base HttpApplication.

  • 8/14/2019 Programacin en ASP

    56/83

    Programacin en ASP .NETJEREYBE

    56

    Archivos de recursos (.resx)

    Un recurso es cualquier dato no ejecutable implantado lgicamentecon una aplicacin. Un recurso puede mostrarse en una aplicacincomo un mensaje de error o como parte de la IU. Los recursos puedencontener datos de diversos tipos, incluyendo cadenas, imgenes yobjetos persistentes. Almacenar los datos en un archivo de recursospermite modificarlos sin necesidad de recompilar toda la aplicacin.

    Styles.css

    Styles.css es el archivo de hojas de estilo predeterminado para la

    aplicacin Web.

    Archivo Web.config

    Este archivo Web.config contiene opciones de configuracin que el CLRlee, como polticas de enlace de ensamblados, objetos remoting, etc., yotras configuraciones que la aplicacin puede leer. Los archivosWeb.config tambin contienen las clases de aplicacin globalsoportadas por un proyecto.

    Los archivos que no estn basados en un lenguaje de programacin tendrnsus propias extensiones. Por ejemplo, un archivo Crystal Reports utiliza laextensin .rpt y un archivo de texto utiliza .txt.

    Cuando se compila un proyecto Web, se crean dos tipos adicionales dearchivos:

    Archivos ensamblados del proyecto (.DLL)

    Todas las pginas de cdigo subyacente (.aspx.vb y .aspx.cs) de unproyecto estn compiladas en un nico archivo ensamblado que sealmacena como ProjectName.dll. Este archivo ensamblado delproyecto se ubica en el directorio /bin del sitio Web.

  • 8/14/2019 Programacin en ASP

    57/83

    Programacin en ASP .NETJEREYBE

    57

    AssemblyInfo.vb o AssemblyInfo.cs

    El archivo AssemblyInfo se utiliza para describir la informacin generaldel ensamblado, como la versin y los atributos del mismo.

    Estructura de los archivos de una aplicacin Web

    Cuando creamos una aplicacin Web ASP.NET, Visual Studio .NET crea doscarpetas para almacenar los archivos que soportan esa aplicacin. Cuandocompilamos un proyecto, se crea una tercera carpeta para almacenar elarchivo .DLL resultante.

    Visual Studio .NET crea una carpeta para la solucin, Proyecto_A, quecontiene el archivo Proyecto_A.sln. Este archivo es un mapa de los diversosarchivos que soportan el proyecto.

    Tambin podemos crear una solucin en blanco y agregarle proyectos. Sicreamos una solucin en blanco, tendremos una solucin con un nombredistinto al del proyecto.

    Visual Studio .NET tambin crea una carpeta denominada Proyecto_A, en lacarpeta Inetpub\wwwroot, que contiene los archivos que requiere laaplicacin Web. Estos archivos incluyen:

    El archivo de proyecto, Proyecto_A.vbproj, que es un documento XMLque contiene referencias a todos los elementos del proyecto, comoformularios y clases, adems de referencias de proyecto y opciones decompilacin.

    Formularios ASP.NET Web Forms, WebForm1.aspx, o servicios WebXML, WebService.asmx.

    Pginas de cdigo subyacente, WebForm1.aspx.vb,WebService1.asmx.vb.

  • 8/14/2019 Programacin en ASP

    58/83

    Programacin en ASP .NET

    JEREYBE

    58

    Un archivo Web.config, que contiene las opciones de configuracin de

    la aplicacin Web.

    Un archivo Global.asax que gestiona los eventos que son invocados

    mientras la aplicacin Web se est ejecutando.

    Cuando generamos un proyecto de aplicacin Web, Visual Studio .NET crea

    un ensamblado en la carpeta Inetpub\wwwroot\Proyecto_A\bin. Un

    ensamblado es un archivo .DLL que se crea desde todas las pginas de cdigo

    subyacente que constituyen una aplicacin Web.

    Figura 34. Estructura de los archivos de una aplicacin Web

  • 8/14/2019 Programacin en ASP

    59/83

    Capitulo V

    Crear formularios

    Web Forms con VisualStudio .NET

  • 8/14/2019 Programacin en ASP

    60/83

    Programacin en ASP .NETJEREYBE

    60

    Los formularios Web Forms son pginas Web programables que sirven comointerfaz de usuario (IU) para un proyecto de aplicacin Web utilizando ASP.NET. Un formulario Web Form presenta informacin al usuario visualizableen cualquier tipo de navegador, e implementa lgica de aplicacin utilizandocdigo ejecutable en el servidor.

    Qu es un formulario Web Form?

    Los formularios Web Forms estn formados por una combinacin de HTML,cdigo y controles que se ejecutan en un servidor Web ejecutando MicrosoftInternet Information Server (IIS). Los formularios Web Forms muestran una

    interfaz de usuario que genera HTML y que se enva al navegador, mientrasque el cdigo de soporte y los controles que la componen permanecen en elservidor Web. Esta divisin entre el interfaz en el cliente y el cdigo en elservidor es una importante diferencia entre los formularios Web Forms y laspginas Web tradicionales. Mientras una pgina Web tradicional requiereque todo el cdigo se enve y se procese en el navegador, los formulariosWeb Forms nicamente necesitan enviar al navegador los controles de lainterfaz, y el proceso de las pginas se mantiene en el servidor. Esta divisinentre IU y cdigo aumenta el nmero de navegadores soportados e

    incrementa la seguridad y funcionalidad de la pgina Web.

    Los formularios Web Forms se denominan habitualmente pginas ASP.NET opginas ASPX. Los formularios Web Forms tienen una extensin .aspx yfuncionan como contenedores para el texto y los controles que deseamosmostrar en el navegador.

    Las pginas ASP.NET (.aspx) y Active Server Pages (ASP) (.asp) puedencoexistir 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 archivosdistintos: el archivo .aspx contiene la IU para el formulario Web Form,mientras que el archivo .aspx.vb, denominado pgina de cdigo subyacente,contiene el cdigo de soporte.

  • 8/14/2019 Programacin en ASP

    61/83

    Programacin en ASP .NETJEREYBE

    61

    Las funciones de un formulario Web Form estn definidas por tres niveles deatributos. Los atributos de pgina definen las funciones globales, losatributos de cuerpo definen cmo se mostrar una pgina y los atributos deformulario definen cmo se procesarn los grupos de controles.

    La etiqueta define atributos especficos de la pgina que utiliza elparseador de pginas ASP.NET y el compilador. nicamente podemos incluiruna etiqueta por archivo .aspx. Los siguientes ejemplos sonetiquetas tpicas para Microsoft Visual Basic .NET:Los atributos de una etiqueta incluyen:

    Language.

    El atributo Language define el lenguaje en el que est escrito el scriptde la pgina Web. Algunos de los valores de este atributo son: vb, c# yJScript.

    Codebehind.

    El atributo de pgina Codebehind identifica la pgina de cdigosubyacente que tiene la lgica que soporta el formulario Web Form.Cuando Visual Studio .NET crea un formulario Web Form, comoWebForm1.aspx, tambin crea una pgina de cdigo subyacente,WebForm1.aspx.vb.

    SmartNavigation.

    El atributo SmartNavigation de ASP.NET permite al navegadoractualizar nicamente las secciones del formulario que han cambiado.Las ventajas de SmartNavigation son que la pantalla no parpadeamientras se actualiza; en lugar de ello, se mantiene la posicin dedesplazamiento y se mantiene la "ltima pgina" en el historial.

  • 8/14/2019 Programacin en ASP

    62/83

    Programacin en ASP .NETJEREYBE

    62

    SmartNavigation nicamente est disponible para los usuarios conMicrosoft Internet Explorer 5 o superior.

    Los atributos de la etiqueta definen el aspecto de los objetos que semuestran en el navegador del cliente. La siguiente es una etiqueta tpica:

    Los atributos de una etiqueta incluyen:

    PageLayout.

    El atributo pageLayout (etiquetado como MS_POSITIONING) determinacmo se posicionan los controles y el texto en la pgina. Existen dosopciones para pageLayout:

    FlowLayout.

    En FlowLayout, el texto, las imgenes y los controles fluyen porla pantalla, dependiendo del ancho de la ventana del navegador.

    GridLayout.

    En GridLayout, los campos de texto, las imgenes y los controlesde una pgina estn fijados por coordinadas absolutas.GridLayout es el valor de pageLayout predeterminado paraVisual Studio .NET.

    La etiqueta define cmo se procesarn los grupos de controles. Laetiqueta es diferente del trmino Web Form utilizado para definir lapgina Web completa. Los atributos de la etiqueta definen cmo seprocesarn los controles. Aunque podemos tener muchos formularios HTMLen una pgina, nicamente podemos tener un formulario del lado delservidor en una pgina .aspx.

  • 8/14/2019 Programacin en ASP

    63/83

    Programacin en ASP .NETJEREYBE

    63

    El siguiente ejemplo es de una etiqueta tpica:...Los atributos de una etiqueta incluyen:

    Method.

    El atributo Method identifica el mtodo para enviar valores de controlde retorno al servidor. Las opciones de este atributo son:

    Post.

    Los datos se pasan en pares nombre/valor dentro del cuerpo dela 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 esque los controles se ejecutan en el servidor. El atributo runat="server"hace que el formulario publique informacin de control de retorno a lapgina ASP.NET en el servidor donde se ejecuta el cdigo de soporte. Siel atributo runat no est establecido en "server", el formulariofunciona como un formulario HTML normal.

    El siguiente cdigo procede del formulario Web Form predeterminado deVisual Studio .NET al crear un nuevo proyecto de aplicacin Web ASP.NET conVisual Basic .NET:

  • 8/14/2019 Programacin en ASP

    64/83

    Programacin en ASP .NETJEREYBE

    64

    WebForm1

    Crear un formulario Web Form con Visual Studio .NET

    Dependiendo del punto en que nos encontremos en el proceso de desarrollo,existen varios modos de crear un formulario Web Form.

    Cuando creamos un nuevo proyecto en Visual Studio .NET, se incluyeautomticamente en el proyecto un formulario Web Form predeterminadodenominado WebForm1.aspx.

    Crear un nuevo proyecto de aplicacin Web ASP.NET y un formularioWeb Form predeterminado.

    1. En Visual Studio .NET, en la Pgina de inicio, hacer clic en Nuevoproyecto.

  • 8/14/2019 Programacin en ASP

    65/83

    Programacin en ASP .NETJEREYBE

    65

    2. En el cuadro de dilogo Nuevo proyecto, hacer clic en AplicacinWeb ASP.NET, escribir el nombre del proyecto en el campo Ubicacin y hacer clic en Aceptar.

    Visual Studio .NET crea una nueva aplicacin Web y un formulario WebForm predeterminado denominado WebForm1.aspx.

    Si estamos expandiendo un proyecto existente, podemos utilizar elExplorador de soluciones para agregar rpidamente formularios Web Formsadicionales.

    Agregar formularios Web Forms adicionales a un proyecto de

    aplicacin Web.

    1. En la ventana del Explorador de soluciones, hacer clic con elbotn derecho en el nombre del proyecto, seleccionar Agregar,y hacer clic en Agregar Web Forms. Se abrir el cuadro dedilogo Agregar nuevo elemento NombreProyecto.

    2. En el cuadro de dilogo Agregar nuevo elemento NombreProyecto, cambiar el nombre del formulario Web Form, y

    hacer clic en Abrir.

    Se crear un nuevo formulario Web Form y se agregar al proyecto.

    Si estamos revisando un sitio Web existente, podemos importar pginasHTML a Visual Studio .NET y actualizar esas pginas a formularios WebForms.

    Actualizar pginas HTML existentes.

    1. En el Explorador de soluciones, hacer clic con el botn derechoen el nombre del proyecto, seleccionar Agregar y hacer clic en

    Agregar elemento existente.

  • 8/14/2019 Programacin en ASP

    66/83

    Programacin en ASP .NETJEREYBE

    66

    2. En el cuadro de dilogo Agregar elemento existente, navegarhasta la ubicacin del archivo HTML, hacer clic en el nombre delarchivo y posteriormente en Abrir.

    3. Cambiar el nombre del archivo nombreArchivo.htm pornombreArchivo.aspx, y hacer clic en S a la pregunta de siestamos seguros de desear cambiar la extensin del archivo.

    4. Cuando se nos pregunte si deseamos crear un nuevo archivo declase, hacer clic en S.

    Uso de controles de servidor

    Los controles de servidor ASP.NET son componentes que se ejecutan en elservidor y encapsulan la IU y dems funcionalidades relacionadas. Loscontroles de servidor se utilizan en pginas ASP.NET y en las clases de cdigosubyacente. Los controles de servidor incluyen botones, cuadros de texto ylistas desplegables.

    El siguiente ejemplo es el de un control de servidor Button:Los controles de servidor tienen un atributo runat="server", el mismoatributo que los formularios Web Forms. Esto significa que la lgica delcontrol se ejecuta en el servidor y no en el navegador del usuario. Loscontroles de servidor se diferencian de los controles HTML en que stosltimos nicamente se ejecutan en el navegador del cliente y no realizanninguna 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 controlse guardan automticamente cuando la pgina viaja entre el cliente y elservidor. Los controles HTML tradicionales no tienen estado y vuelven a su

  • 8/14/2019 Programacin en ASP

    67/83

    Programacin en ASP .NETJEREYBE

    67

    configuracin predeterminada cuando la pgina retorna del servidor alcliente.

    La funcionalidad de un control es lo que se produce cuando el usuario haceclic en un botn o en un cuadro de lista. A estos procesos se denominanprocedimientos de eventos. Como programadores del formulario Web Form,debemos determinar los procedimientos de eventos asociados a cada controlde servidor.

    En ASP.NET, los controles de servidor se basan en un modelo de objetoscomn, y por tanto, comparten varios atributos entre s.

    Cuando un navegador interpreta una pgina, los controles de servidor Webdeterminan el tipo de navegador que solicita la pgina, y enva el cdigoHTML adecuado.

    Existen numerosos tipos de controles de servidor disponibles en ASP.NET.Algunos controles de servidor se parecen mucho a los controles HTMLtradicionales, mientras que otros son nuevos en ASP.NET. Esta ampliavariedad de controles nos permite personalizar nuestro formulario WebForm para que se adapte a la aplicacin que estamos creando.

    Por defecto, el servidor no tiene disponibles los elementos HTML de unapgina de un formulario Web Form; los elementos HTML son tratados comotexto opaco que pasa a travs del navegador. Sin embargo, al agregar elatributo runat="server" se convierten los elementos HTML en controles deservidor HTML, exponindolos por tanto como elementos que podemosprogramar con cdigo del lado del servidor.

    Los controles de servidor Web no slo incluyen controles de tipo formulario,

    como botones y cuadros de texto, sino tambin controles con funcionalidadespecial, como el control calendario. Los controles de servidor Web son msabstractos que los controles de servidor HTML, porque su modelo de objetosno refleja necesariamente la sintaxis HTML.

    Los controles de servidor Web se clasifican como:

  • 8/14/2019 Programacin en ASP

    68/83

    Programacin en ASP .NETJEREYBE

    68

    Controles intrnsecos.

    Los controles intrnsecos concuerdan con los sencillos elementosHTML, como botones o cajas de listas. Utilizamos estos controles delmismo modo que utilizamos los controles de servidor HTML.

    Controles de validacin.

    Los controles de validacin incorporan lgica que permite verificar laentrada de datos de un usuario. Para probar la entrada de un usuario,adjuntamos un control de validacin al control de entrada y

    especificamos las condiciones de entrada de datos de usuariocorrectas.

    Controles ricos estndar.

    Los controles estndar son controles complejos que incluyen mltiplesfunciones. Ejemplos de controles estndar incluyen el controlAdRotator, que se utiliza para mostrar una secuencia de anuncios o elcontrol Calendar, que proporciona un calendario de citas.

    Controles enlazados a listas.

    Los controles enlazados a listas pueden mostrar listas de datos en unapgina ASP.NET. Estos controles nos permiten mostrar, reformatear,clasificar y editar datos.

    Controles Web de Internet Explorer.

    Los controles Web de Internet Explorer son un conjunto de controlescomplejos, como MultiPage, TabStrip, Toolbar y TreeView, que puedendescargarse 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 navegadoresutilizados habitualmente, y al mismo tiempo aprovechan las potentes

  • 8/14/2019 Programacin en ASP

    69/83

    Programacin en ASP .NETJEREYBE

    69

    caractersticas soportadas por las versiones de Internet Explorer 5.5 osuperior.

    Controles de servidor HTML

    Los controles HTML de un formulario Web Form no estn disponibles en elservidor. Si convertimos los controles HTML en controles de servidor HTML,podemos exponerlos como elementos a nuestro cdigo del lado del servidor.Esta conversin nos permite utilizar los controles para disparar eventos queson gestionados en el servidor.

    Los controles de servidor HTML incluyen el atributo runat="server", ydeben residir en una etiqueta contenedora .La ventaja de los controles de servidor HTML es que nos permiten actualizarrpidamente pginas existentes a formularios Web Forms. Adems, podemosoptimizar el rendimiento de una pgina ajustando qu controles debenfuncionar localmente en el navegador y qu controles se procesan en elservidor.

    Controles de servidor Web

    Los controles de servidor Web son controles de servidor creadosespecficamente para ASP.NET. A diferencia de los controles de servidorHTML, los controles de servidor Web no funcionarn si falta el atributorunat="server".

    Los controles de servidor Web se basan en un modelo de objetos comn; porello, todos los controles comparten varios atributos, incluyendo la etiqueta, y un atributo id. Los controles de servidor Webexisten en el espacio de nombres System.Web.UI.WebControls y puedenutilizarse en cualquier formulario Web Form.

  • 8/14/2019 Programacin en ASP

    70/83

    Capitulo VI

    Agregar cdigo a un

    formulario Web Formcon ASP .NET

  • 8/14/2019 Programacin en ASP

    71/83

    Programacin en ASP .NETJEREYBE

    71

    Podemos agregar cdigo a nuestro formulario Web Form de los siguientesmodos:

    Cdigo mezclado.

    El cdigo se encuentra en el mismo archivo que el contenido Web,entremezclado con el contenido Hypertext Markup Language (HTML).Este mtodo es el menos elegido, ya que es difcil leer y trabajar conun archivo de este tipo. Sin embargo, es un mtodo utilizado confrecuencia en pginas Active Server Pages (ASP).

    Cdigo en lnea.

    El cdigo se encuentra en el mismo archivo en una seccin SCRIPTdistinta, al igual que el contenido HTML.

    Cdigo subyacente.

    El cdigo se encuentra en un archivo distinto del contenido HTML. Elarchivo de cdigo se denomina pgina de cdigo subyacente. Cuandose utiliza Visual Studio .NET, el mtodo predeterminado es ubicar todo

    el cdigo en una pgina de cdigo subyacente.

    Aunque el mtodo predeterminado para implementar cdigo en el lado delservidor en Visual Studio .NET es utilizar una pgina de cdigo subyacente,podemos encontrar pginas que utilizan cdigo en lnea, concretamentepginas ASP.

    Cuando se utiliza cdigo en lnea en una pgina Web, el HTML y el cdigo seencuentran en secciones distintas de un nico archivo .aspx. Esta separacin

    se produce para ofrecer claridad en la lectura de la pgina; la funcionalidad,el cdigo y HTML pueden coexistir en cualquier lugar de la pgina.

    El siguiente cdigo es un ejemplo de cdigo en lnea:

  • 8/14/2019 Programacin en ASP

    72/83

  • 8/14/2019 Programacin en ASP

    73/83

    Programacin en ASP .NETJEREYBE

    73

    subyacente debe estar compilada antes de que la informacin se enve devuelta a un navegador cliente que la solicite.

    Aunque cada pgina Web Form est formada por dos archivos distintos (lapgina .aspx y la pgina de cdigo subyacente), ambos archivos forman unanica unidad cuando se ejecuta la aplicacin Web. La pgina de cdigosubyacente puede ser precompilada por Visual Studio .NET cuandogeneramos el proyecto de aplicacin Web, o puede ser compilada justintime (JIT) la primera vez que un usuario accede a la pgina.

    La pgina .aspx debe estar asociada a la pgina de cdigo subyacente. VisualStudio .NET agrega los tres atributos siguientes a la directiva @ Page de lapgina .aspx para conseguir esta asociacin:

    Codebehind.

    Es el atributo que Visual Studio .NET utiliza internamente para asociarlos archivos.

    Src.

    Este atributo es el nombre de la pgina de cdigo subyacente, y seutiliza si la aplicacin Web no est precompilada.

    Inherits.

    Este atributo permite a la pgina .aspx heredar clases y objetos de lapgina de cdigo subyacente.

    El siguiente cdigo muestra un ejemplo de directiva @ Page para un archivodenominado Page1.aspx:

  • 8/14/2019 Programacin en ASP

    74/83

    Programacin en ASP .NETJEREYBE

    74

    Cuando una pgina est compilada JIT, las pginas de cdigo subyacente secompilan la primera vez que un cliente solicita la pgina .aspx. Tras la primerapeticin, las siguientes utilizan el archivo compilado existente. Por tanto, laprimera peticin de una pgina dura ms, pero las siguientes peticiones sonms rpidas.

    Si se desea utilizar la compilacin JIT para una pgina, debera utilizarse elatributo Src de la directiva @ Page.Cuando un usuario solicita la pgina .aspx, el archivo DLL procesa la peticinentrante y responde creando el cdigo HTML y el scripting adecuados ydevolvindolos al navegador solicitante.

    Si omitimos el atributo Src de la directiva @ Page en un archivo .aspx, lapgina se precompila cuando generamos la aplicacin en Visual Studio .NET.De modo predeterminado, Visual Studio .NET no agrega el atributo Src; porello, todas las pginas de cdigo subyacente en los formularios Web Formsde un proyecto se compilan cuando se genera el proyecto. Este procesoahorra un tiempo considerable de proceso en el servidor Web.

    Precompilar pginas de cdigo subyacente tambin simplifica la implantacin

    del sitio Web ya que no es necesario implantar las pginas de cdigosubyacente junto con las pginas .aspx.

    Procedimientos de evento a controles de servidor Web

    Los formularios Web Forms dinmicos e interactivos normalmentereaccionan a la entrada de datos del usuario. Los procedimientos de eventose utilizan para gestionar las interacciones de los usuarios en un formulario

    Web Form.

    Cuando un usuario interacta con un formulario Web Form, se genera unevento. Diseamos nuestra aplicacin Web para realizar una determinadatarea cuando se genera el evento. Un procedimiento de evento es la accinque ocurre en respuesta al evento generado.

  • 8/14/2019 Programacin en ASP

    75/83

    Programacin en ASP .NETJEREYBE

    75

    Muchos formularios Web Forms permiten al usuario introducir informacin yhacer clic en un botn Enviar. Se genera un evento cuando el usuario haceclic en el botn Enviar. Por ejemplo, un procedimiento de evento podra serenviar la informacin del usuario a una base de datos Microsoft SQL Server.

    Procedimientos de evento en el lado del cliente

    Existen dos tipos de procedimientos de evento: en el lado del cliente y en ellado del servidor. Ambos tienen ventajas e inconvenientes.

    Los procedimientos de evento en el lado del cliente son eventos gestionados

    en el equipo que solicita el formulario Web Form (el cliente). Cuando segenera un evento, no se enva ninguna informacin al servidor. En lugar deello, el navegador del cliente interpreta el cdigo y tambin realiza la accin.

    Los procedimientos de evento en el lado del cliente nicamente puedenutilizarse con controles HTML. Adems, los procedimientos de evento en ellado del cliente nunca tienen acceso a los recursos del servidor. Por ejemplo,no podemos utilizar scripts en el lado del cliente para acceder a una base dedatos SQL Server.

    Los procedimientos de evento en el lado del cliente resultan tiles paraeventos que deseamos que ocurran inmediatamente porque no requieren unviaje de ida y vuelta al servidor Web (envo de informacin al servidor Web yespera de una respuesta). Por ejemplo, es posible validar informacin en uncuadro de texto antes de enviarla al servidor. Podemos utilizar scripts en ellado del cliente para validar la informacin rpida y eficazmente antes deenviar la informacin del usuario al servidor Web para continuar su proceso.

    Especificamos un procedimiento de evento en el lado del cliente creando unbloque en la pgina Web, como muestra el siguiente cdigo:

  • 8/14/2019 Programacin en ASP

    76/83

    Programacin en ASP .NETJEREYBE

    76

    Procedimientos de evento en el lado del servidor

    A diferencia de los procedimientos de evento en el lado del cliente, los

    procedimientos de evento en el lado del servidor requieren el envo deinformacin al servidor Web para su proceso. Aunque el uso deprocedimientos de evento en el lado del servidor supone un coste en tiempo,son mucho ms potentes que los procedimientos de evento en el lado delcliente.

    Los procedimientos de evento en el lado del servidor estn formados porcdigo compilado que reside en el servidor Web. Los procedimientos deevento en el lado del servidor pueden utilizarse para gestionar eventos que

    son generados desde los controles de servidor Web y HTML.

    Los procedimientos de evento en el lado del servidor tienen acceso arecursos del servidor que normalmente no estn disponibles para losprocedimientos de evento en el lado del cliente.

    Para especificar un procedimiento de evento en el lado del servidor, se utilizael atributo runat="server" en la etiqueta script, como muestra elsiguiente cdigo:

    Debido a que los procedimientos de evento en el lado del servidor requierenun viaje de ida y vuelta al servidor Web, existen un nmero limitado de tiposde eventos de control soportados.

    Con los procedimientos de evento en el lado del cliente, podemos incluircdigo para procesar eventos asociados a botones de ratn y eventos

    onChange. Mientras los procedimientos de evento en el lado del servidorsoportan eventos click y una versin especial del evento onChange, nopueden soportar eventos que ocurren frecuentemente, como eventosasociados a botones del ratn.

  • 8/14/2019 Programacin en ASP

    77/83

    Programacin en ASP .NETJEREYBE

    77

    Crear procedimientos de evento

    Crear un procedimiento de evento en el lado del servidor en Visual Studio

    .NET implica dos pasos. En el primer paso, creamos el control que genera elevento en el formulario Web Form. En el segundo, proporcionamos el cdigonecesario en la pgina de cdigo subyacente para procesar el evento.

    Cuando hacemos doble clic en un control en Visual Studio .NET, Visual Studio.NET declara una variable (con el mismo nombre que el atributo id delcontrol) y crea una plantilla para el procedimiento de evento. Cuandoutilizamos Visual Basic .NET, Visual Studio .NET tambin agrega la palabraclave Handles, que adjunta el procedimiento de evento al control. La palabraclave Handles permite crear mltiples procedimientos de evento a un nicoevento.El siguiente cdigo HTML muestra un formulario Web Form que tiene unnico botn con un atributo id igual a cmd1; el evento clic del botn segestionar en el servidor:

    El siguiente cdigo Visual Basic .NET muestra la declaracin de variablesnecesaria en la pgina de cdigo subyacente.

    Protected WithEvents cmd1 As _System.Web.UI.WebControls.ButtonEn el cdigo anterior, el nombre de la variable debe coincidir con el id delcontrol Web, y debemos utilizar la palabra clave WithEvents para indicarque este control hace que se ejecuten los procedimientos de evento.

    En el siguiente cdigo Visual Basic .NET, que muestra el procedimiento deevento para el evento Click, la palabra clave Handles indica que elprocedimiento de evento se ejecuta en respuesta al evento Clickdel controlcmd1:

  • 8/14/2019 Programacin en ASP

    78/83

    Programacin en ASP .NETJEREYBE

    78

    Private Sub cmd1_Click(ByVal s As System.Object, _ByVal e As System.EventArgs) _Handles cmd1.Click...End SubTodos los eventos pasan dos argumentos al procedimiento de evento: elremitente del evento y una instancia de la clase que guarda los datos delevento.

    Normalmente, este ltimo es del tipo EventArgs, y a menudo no contieneninguna informacin adicional; sin embargo, para algunos controles, es de untipo que es especfico para ese control.

    Por ejemplo, para un control Web ImageButton, el segundo argumento esde tipo ImageClickEventArgs, que incluye informacin sobre lascoordenadas donde el usuario ha hecho clic. El siguiente procedimiento deevento enva las coordenadas de la ubicacin donde ocurre un clic en uncontrol Label:Sub img_OnClick(ByVal s As System.Object, _ByVal e As System.Web.UI.ImageClickEventArgs) _Handles ImageButton1.ClickLabel1.Text = e.X & ", " & e.YEnd Sub

    Interactuar con controles en procedimientos de evento

    En muchas aplicaciones Web, necesitamos leer y escribir a controles de unformulario. Podemos hacerlo dentro de los procedimientos de evento en ellado del servidor.

    En un procedimiento de evento en el lado del servidor, podemos leerinformacin de un control de servidor. Por ejemplo, si tenemos el siguienteformulario con un control Textboxy un control Button:

  • 8/14/2019 Programacin en ASP

    79/83

    Programacin en ASP .NETJEREYBE

    79

    Cuando el usuario hace clic en el botn, podemos leer el texto que el usuarioha escrito en el cuadro de texto. El siguiente cdigo asigna la variable decadena strGreeting a una concatenacin del texto Hello y el texto delcuadro de texto txtName:Dim strGreeting As String = "Hello " & txtName.TextPodemos enviar informacin directamente a un control de servidor Webutilizando las propiedades del control. Por ejemplo, supongamos que

    tenemos un control de servidor Web denominado Label en la pginaASP.NET, como sigue:GreetingEl siguiente cdigo en el lado del servidor asigna la propiedad Text delcontrol de servidor Web lblGreetinga una cadena de texto:lblGreeting.Text = "new text"

    Ciclo de vida de los eventos de pgina