ASP.
NET & SQLServer
Maria Luz Vargas H..
Universidad Mayor de San Simn
Cochabamba, Febrero del 2010
Contenido
Introduccin
[Link]
Entorno de desarrollo: Visual Studio 2005
Web Forms
Introduccin (1)
Una aplicacin web es un conjunto de pginas HTML
que se transmiten por medio del protocolo HTTP de
un servidor al cliente y viceversa, brindando distintas
funcionalidades a un usuario final.
[Link] es un Marco (framework) para programar
aplicaciones web, de un modo similar al que se
programan las aplicaciones windows. El componente
principal son los Web Forms (formularios web) que
permiten, entre otras cosas, separar la interfaz del
usuario de la funcionalidad de la aplicacin.
Introduccin (2)
Un servidor web es un sistema informtico
conectado a una red, donde se almacenan las
pginas, imgenes, etc. (que forman una aplicacin
web) disponibles para ser visitadas por los usuarios
de la red.
Internet Information Server (IIS), es el servidor Web
de Microsoft que corre sobre plataformas Windows.
Los servicios que ofrece son: FTP, SMTP, NNTP y
HTTP/HTTPS
Hypertext Transfer Protocol (HTTP)
Uno de los protocolos ms importantes de
Internet
HTTP define como los navegadores y los
servidores Web se comunican uno con otro
Esta basado en texto y es transmitido sobre
conexiones TCP
Funcionamiento de HTTP
Cliente
[Link]
om/[Link]
IP=[Link] Puerto: 80
Servidor
HTTP Request
[Link]
IP = [Link]
HTTP Response
[Link]
<html>
<body>
Bienvenidos al
Curso [Link]
</body>
</html>
Pagina solicitada
[Link]
<html>
<body>
Bienvenidos al
Curso [Link]
</body>
</html>
HTTP Request
GET /[Link] HTTP/1.1
Accept: */*
Accept-Language:...
Accept-Encoding:...
If-Modified-Since:...
If-None-Match:...
User-Agent: Mozilla/4.0...
Host: [Link]
Connection: Keep-Alive
[blank line]
HTTP Response
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: ...
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: ...
ETag: ...
Content-Length: 46
[blank line]
<html>
<body>
Bienvenidos al Curso [Link]
</body>
</html>
HTML Forms (1)
En el corazn de toda aplicacin Web genuina estn los HTML
Forms
Un HTML Form es la porcin de un documento HTML que aparece
entre las etiquetas <form></form>
[Link]
<html>
<body>
<form>
<input type="text" name="op1" />
+
<input type="text" name="op2" />
<input type="submit" value=" = " />
</form>
</body>
</html>
HTML Forms (2)
Un botn submit (<input type=submit>) juega un rol
especial en un HTML Form:
Cuando es pulsado, el navegador enva el HTML Form junto con
cualquier entrada de datos del usuario al servidor Web
Cmo el HTML Form es enviado, depender del atributo
Method del form:
Si el atributo Method del form no est presente o tiene el valor GET,
el navegador enviar al servidor un comando HTTP GET
Si el atributo Method del form tiene el valor POST, el navegador
enviar al servidor un comando HTTP POST
HTML Forms (3)
Method = GET
Method = POST
<form method=get">
...
<form method=post">
...
</form>
</form>
GET /[Link]?op1=2&op2=2 HTTP/1.1
.
.
.
Connection: Keep-Alive
[blank line]
POST /[Link] HTTP/1.1
.
.
Content-Type: ...
Content-Length: 11
[blank line]
op1=2&op2=2
El navegador enva los datos
ingresados como una
cadena de consulta
El navegador enva los datos
ingresados en el cuerpo
de la solicitud HTTP
Cualquiera sea el mtodo utilizado, es decir GET o POST, cuando un form es
enviado al servidor, decimos que se produjo un POSTBACK
Procesamiento en el Servidor
Construir la parte del cliente es fcil, slo es HTML
La parte difcil es la construccin de la lgica del lado del servidor. Algo
en el servidor, tiene que interpretar las entradas del usuario enviadas
junto con el form y generar la correspondiente salida.
[Link]
<html>
<body>
<form>
<input type="text" name="op1" />
+
<input type="text" name="op2" />
<input type="submit" value=" = " />
</form>
</body>
</html>
Antes del procesamiento
Despus del procesamiento
[Link]
<html>
<body>
<form>
<input type="text" name="op1 value=2/>
+
<input type="text" name="op2 value=2>
<input type="submit" value=" = " />
4
</form>
</body>
</html>
Procesamiento en el Servidor
Existen varias tecnologas de procesamiento:
CGI (Common Gateway Interface)
Define una API de bajo nivel
Popular en entornos UNIX, no tanto en Windows
ISAPI (Internet Server Application Programming Interface)
Son DLL Windows que corren bajo IIS. Escritas en C++
Mejor performance que CGI
ASP (Active Server Pages)
Simple solucin: HTML + Script del lado del servidor
Programadas en JScript o VBScript
Objetos intrnsecos que abstraen detalles de bajo nivel de HTTP.
Objetos Request y Response
Permite usar ADO (ActiveX Data Object) para acceso a datos
[Link]
[Link] es el framework de programacin web dentro de
.NET
Permite desarrollar aplicaciones Web con un modelo similar
al utilizado para aplicaciones Windows
El componente fundamental de [Link] es el WebForm
Independencia del cliente (navegador, S.O., dispositivo fsico,
etc.)
Permite utilizar cualquier lenguaje .NET
Permite desarrollar Servicios Web XML
[Link] Ventajas (1)
La parte ejecutable de una aplicacin [Link] es
COMPILADA
Implementacin y actualizacin de las aplicaciones sin
reiniciar el servidor!
Acceso a toda la .NET Class Library
Independiente del lenguaje de programacin
Encapsulamiento de funcionalidad a travs de controles
de servidor y controles de usuario
[Link] Ventajas (2)
Permite usar [Link] para acceso a datos
Soporta XML, Hojas de estilo CSS, etc.
Deteccin automtica del navegador cliente, generando el lenguaje
de marcas soportado por el mismo
Mecanismo de Caching incorporado para pginas completa o partes
de la misma frecuentemente solicitadas
Visual Studio 2005 (1)
Es un potente IDE, con el cual podemos
desarrollar diversos tipos de proyectos:
Aplicaciones de consola
Aplicaciones para Windows
Aplicaciones WEB
Aplicaciones para celulares.
Visual Studio 2005 (2)
Para crear un nuevo proyecto para escritorio
debemos seguir los siguientes pasos:
En el men File, seleccionar New Web Site.
En la ventana que aparece seleccionar Web Site.
Visual Studio 2005 (4)
Visual Studio 2005 (3)
Visual Studio 2005 (4)
Herramientas del IDE
Para el diseo de formularios disponemos de
las siguientes herramientas:
Cuadro de Herramientas (Toolbox)
Panel de Diseo
Panel de cdigo fuente
Cuadro de propiedades (Properties)
Visual Studio 2005 (5)
Controles en el cuadro de herramientas
Estndar (Standar)
Botones, etiquetas, campos de texto , listas, cajas de seleccin,
imgenes, navegador Web, calendario, etc.
Datos (Data)
Elementos visuales para manejar datos almacenados en Bases de Datos o
generados por el sistema.
Validacin (Validation)
Validan las entradas de datos para garantizar las polticas establecidas en
el tratamiento de los datos
Exploracin (Navigation)
Componentes para mens.
Visual Studio 2005 (6)
Inicio de sesin (Login)
Componentes para el control de ingreso de usuarios
Web Parts, HTML y Cristal Reports
Componentes normales de HTML y herramientas para
elaborar reportes.
Aplicaciones Web con [Link]
Sitio Web [Link]
Lenguaje de
programacin
Web Forms
Las Web Forms son pginas con extensin .aspx, incluyen la directiva
@ Page:
<%@ Page Language=C# %>
Utiliza el modelo de objeto del .Net Framework
Contiene cdigo HTML y declaraciones de controles del lado del servidor.
Code Behind
Es el cdigo que se ejecuta del lado del servidor para lograr el
comportamiento deseado en un formulario web.
Partial Class
Un nuevo concepto, que es aplicado en [Link] para vincular las pginas
aspx (la interfaz del usuario) con su Code Behind (comportamiento).
Controles del lado del servidor
Objetos programables que se ejecutan en el
servidor Web.
Exponen interfaces con propiedades y
mtodos.
Se encargan de generar el cdigo HTML
correcto (Rendering).
Son capaces de generar distinto HTML de
acuerdo al Navegador.
Se identifican por el atributo runat=server.
Controles HTML
Son los controles comunes de pginas HTML,
pero capaces de utilizar el atributo
runat=server.
Se encuentran definidos como objetos dentro
del Namespace [Link]
<input type="text" id="txtNombre" runat="server">
<span id="spnInicio" runat="server">Inicio</span>
Controles Web controls
Son objetos que se ejecutan del lado del
servidor.
Estos controles poseen mayor funcionalidad, y
pueden contener otros objetos. Dependen del
Namespace [Link].
<asp:TextBox id="txtNombree" runat="server
Text="[Ingrese su nombre]"/>
Comparacin de sintaxis
Controles Web
Controles HTML
<asp:Button>
<input type=submit>
<asp:CheckBox>
<input type=checkbox>
<asp:DropDownList>
<select>
<asp:HyperLink>
<a href=>
<asp:Image>
<img src=>
<asp:ImageButton>
<input type=image>
<asp:Label>
<spam>
<asp:ListBox>
<select size=>
<asp:Panel>
<div>
<asp:RadioButton>
<input type=radio>
<asp:Table>, <asp:TableRow>,
<asp:TableCell>
<table>, <tr>, <td>
<asp:TextBox>
<input type=text>