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