Documentos de Académico
Documentos de Profesional
Documentos de Cultura
m
ñ
m
À Al principio, el Web estaba poblado únicamente por páginas
estáticas
El servidor Web simplemente localizaba el documento solicitado en el URL
y se lo entregaba al cliente
À Este enfoque puede ser perfectamente válido para muchos sitios
Siempre y cuando no requieran actualizaciones continuas, ya que hay que
eso implica o bien modificar, a mano, las páginas existentes, o bien crear
una nueva
À Pero no permitiría, por ejemplo, crear un sitio de comercio
electrónico donde se pueda comprar, o el de un banco
Es necesario acceder a datos en el servidor y crear una página a petición
ñ
ñ
ñ
Ú
×
ñ
ñ
ñ
{
×
ñ
ñ
ñ
©
u
ñ
ñ
ñ
M
À ¿Y en qué lenguaje se escriben esas instrucciones?
À ASP permite el uso de dos lenguajes:
Visual Basic Script (VBScript
VBScript)
JScript (como denomina Microsoft a su implementación de
ECMAScript ±que a su vez es el estándar de JavaScript
JavaScript±)
À Si no decimos nada, por omisión asume VBScript
ñ
ñ
ñ
^
m
À Será ±¡cómo no!
no!±± el archiconocido ³Hola, mundo´
À La página siguiente escribe dinámicamente el mensaje
üë
üë
ü
ü
üë
ü
üë
ü
üë
ü
üë
ñ
ñ
ñ
£
m
ë ë
ü
ü
!
"
ü#
ü$% ü&
ü$'())ü#$'
ü$** * ü
ü ** ü#$*
ü& & *
ü +!ü'+!
üü,-üü ü
.+ü#ü,-ü .'ü#ü#
ü "
ü#&
ü ,/01ü$*0
,ü#$*1!
ü#& ü#$%
ñ
ñ
ñ
££
m
Es mucho más que la siguiente versión de ASP.
Realmente, tiene poco que ver con el ASP tradicional;
supone un rediseño completo, integrado en la plataforma
.NET, y hay que cambiar la forma de hacer las cosas para
adaptarnos a la nueva filosofía.
m !
& &
!$ & '( ) )
% % %*ë %*ë
,
-
(. $
-$
/
%
ñ
ñ
ñ
£{
! m
Para estudiar las diferencias entre ASP y ASP
.NET, comencemos creando nuestra primera
página ASP .NET a mano, empleando sólo el
bloc de notas.
"
À En su forma más simple, una página ASP .NET no es
más que HTML puro
À Cualquier fichero con la extensión / será
procesado por el entorno en tiempo de ejecución de
.NET (2-/)
À Si no hay ningún script en dicha página ni tampoco
referencias a ningún código externo (â
)
entonces la página es devuelta directamente al cliente
ñ
ñ
ñ
£G
#$
%
&
À Guardar el siguiente documento como -3/:
ñ
ñ
ñ
£
À Cópiese al directorio .E
.EH
H5&
5&H
H---
O bien a algún subdirectorio o directorio virtual
À Y tecleamos en el navegador:
$E##
$#-3/
ñ
ñ
ñ
£
×
'"
Veamos un ejemplo de formularios Web en
HTML, para entender luego qué es lo que hace
ASP .NET y cómo se relaciona con éstos.
×
À Son la forma que hay en HTML de enviar datos
ñ
ñ
ñ
£^
$u
///
ü%
1$E##
$##%/1%$ 11
ü
D%&Eü 11% 1%&1#ü&#
Eü 11% 11#ü&#
IJK%L4ü&#
ü
% 1%61
ü 10-:810-:8ü#
ü 10-*+++10-*+++ü#
ü 10-C)10-C)ü#
ü 1A#?1A#?ü#
ü#
ü&#
ü 1&%1#
ü#
ü#%
///
ñ
ñ
ñ
Ú
×
À Esos datos se envían al URL especificado en el atributo
de %
À Hay dos métodos de envío
GET
± Los datos se codifican en el propio URL
POST
± Viajan ocultos en el propio mensaje HTTP
Es lo habitual
ñ
ñ
ñ
Ú£
x
À ¿Cómo se recogen esos datos en el servidor, en el URL
especificado?
Depende de la tecnología de páginas dinámicas que estemos
empleando
Veamos un ejemplo sencillo en ASP tradicional que muestre
un mensaje personalizado en función de los datos
introducidos en el formulario anterior
ñ
ñ
ñ
ÚÚ
(#$
%u
&)
*
ñ
"
À Creamos un nuevo sitio web:
En × ĺ D-0&
M
O a través de la ventana de
inicio, en ³proyectos
recientes´
ñ
ñ
ñ
Ú©
ñ
"
À Visual Studio 2005 elimina la necesidad de tener
instalado el Internet Information Server
Se puede crear un ³sitio web´ en cualquier carpeta del sistema
de ficheros local
Para ello, especificaremos:
r A
E ×%
À El lenguaje será C#
À La plantilla a utilizar es ? ë
ñ
ñ
ñ
ÚG
ñ
"
ñ
ñ
ñ
Ú
ñ
ñ
ñ
Ú
ñ
++",
ñ
À Es una de las mejores características de ASP .NET
Y que es aún mejor en ASP .NET 2.0 con las ³clases
parciales´
À Permite separar el código HTML de la lógica de
programación
À Además, no hay que esperar a que el servidor web nos
dé los errores al mostrar la página, sino que podemos
compilar el código como cualquier otra clase
Y, con Visual Studio 2005, incluso depurar
ñ
ñ
ñ
ÚM
ñ
++",
ñ
À Pulsando en </ con el botón secundario y
seleccionando X obtenemos:
ñ
ñ
ñ
Ú^
ñ
À Ocultan gran parte del código generado
automáticamente por Visual Studio 2005
Por ejemplo, aunque tenemos acceso a los controles de ASP
.NET definidos en la página, no aparecen aquí como atributos
de la clase
Lo mismo con las suscripciones a eventos
± Como veremos, se llama automáticamente a los manejadores de
eventos, sin que veamos la asociación explícita entre el evento y su
manejador, como ocurría en ASP .NET 1.0
ñ
ñ
ñ
{
-
À Con ASP .NET 2.0 es posible generar código XHTML
Strict válido
À Para ello, es necesario hacer lo siguiente:
Añadir al sitio web un fichero de configuración (Web
Web
configuration file)
file 0&/
Añadir esta sección:
ü$%.%
% 1
1#
dentro de ü%/-&
ü%/-&M
Mü#%/-&
ñ
ñ
ñ
{£
;<6.(=)>
;<6.(=)>
À También es necesario cambiar el ;<6.(=)> que nos
genera por éste:
ü;<6.(=)>$%)?@A5.
17##0B.##<(<C-(3A'/+
##>D1
1$E##---/-B/#(,#$%'#<(<#$%'7
1$E##---/-B/#(,#$%'#<(<#$%'7
/1
ñ
ñ
ñ
{Ú
×,
</
À Representa la página en sí
El código HTML junto con los controles de ASP .NET
À Lo renombraremos apropiadamente
Por ejemplo, -3/
À En Visual Studio, no hace falta escribir el código de los
controles a mano
Podemos arrastrar y soltar desde el Cuadro de Herramientas
± La pestaña que está en el lateral izquierdo de la ventana
± Podemos modificar sus propiedades desde el cuadro de Propiedades
ñ
ñ
ñ
{{
(#$
%
&)*
ñ
ñ
ñ
{©
ñ
À üEA& es un Control Web de ASP .NET
Uno de los muchos incluidos en el Framework .NET
À El atributo OP indica que se ejecutará en el
servidor
Quien se encargará de generar el código HTML apropiado para él
± En este caso, simplemente envuelve el texto en un elemento ü de
HTML
À Todos los controles Web de ASP .NET deben estar dentro de un
formulario que también tenga el atributo OP
ñ
ñ
ñ
{G
m
"
À Con Build ĺ Build Web Site compilamos toda la
aplicación
À La ³ejecutamos´ en el menú Debug ĺ Start Without
Debugging
ñ
ñ
ñ
{
[
À Si queremos depurar (Debug
(Debug ĺ Start Debugging)
Debugging)
À Y activar la depuración en el fichero de configuración
Nos pregunta si quiere que lo haga él automáticamente
ñ
ñ
ñ
{
x
ñ
ñ
ñ
{M
ñ
$u
ü;<6.(=)>$%)?@A5.17##0B.##<(<C-(3A'/+
##>D1
1$E##---/-B/#(,#$%'#<(<#$%'7
/1
ü$%% 1$E##---/-B/#':::#$%1
ü$
ü3%F)/D>(*/+ü#
ü#$
ü&
ü%%$ 11
1-3*/1 1×%1
ü
ü 1$1% 122Q5>0((>1 122Q5>0((>1
1#->)<-?6<>3<>9DL=9RS(&DB-D@D <CCA<?6BJ 1#
ü#
ü
ü 1A&(1G-%;ü#
ü#
ü#%
ü#&
ü#$%
ñ
ñ
ñ
{^
u
.
À Uno de los mayores avances de ASP .NET sobre su
predecesor es la capacidad del manejo de eventos
desde una perspectiva orientada a objetos
À Veamos cómo hacer que al pulsar un botón en la página
cambie el texto del mensaje
ñ
ñ
ñ
©
.
À Formas de añadir los manejadores de eventos:
eventos:
Desde el código HTML
Desde la vista de diseño
± Haciendo doble clic sobre el control se generará el manejador para el
evento predefinido del control
± También podemos crear cualquier otro manejador en la ventana de
propiedades
ñ
ñ
ñ
©£
/ "
///
ü%%$ OP OP
üEA&
OG-3;P
OP#ü&#
ëë
ë ë
ë
ü#%
///
mmm
ë ë ë
ë?
ë
?
mmm
ñ
ñ
ñ
©{
ñ
À Le hemos dado un identificador () a la etiqueta
(A&) para poder acceder a ella por programa
Antes se lo daba ASP .NET automáticamente por nosotros
À En el manejador del botón modificamos su propiedad
(
(Los controles de .NET son clases que tienen sus
correspondientes métodos y propiedades)
À Una vez pulsado el botón (el texto cambiará), ¿qué
ocurre si actualizamos la página?
ñ
ñ
ñ
©©
ñ
ñ
ñ
©M
À Es el primer evento que tiene lugar
À ASP .NET crea todos los controles de la página
À Visual Studio también añadirá aquí los manejadores de
los eventos de usuario que hayamos definido
65>
5L.%!
&/65!
"
ñ
ñ
ñ
©^
.
u
1
À ¿Qué significa esta línea?
$/A -%/>-$/)2A!
ñ
ñ
ñ
G
À Este evento se produce justo después de 5
À Aquí ya está disponible el estado de la vista
Ya podemos mirar qué valores tienen los controles y procesar la página
como corresponda
À La clase ) define una propiedad 5)@
T
Permite saber si es la primera vez que se llama a la página o si es que ya
ha sido devuelta por el cliente
Hay código que con ASP .NET, al mantener el estado, sólo necesitaríamos
ejecutar la primera vez
± Por ejemplo, obtener datos de una base de datos para poblar los controles
ñ
ñ
ñ
G£
!
ë ë
ë
ë?
èè
èè
èè
!ë
èè
èè
èè
èè
èè
ñ
ñ
ñ
GÚ
u
m
Ya hemos visto los controles A& y
@. Veamos ahora, mediante ejemplos,
algunos otros de los que nos proporciona
ASP .NET.
u
,
À Hacer una página que, al pulsar un botón, actualice la
hora
Hágase uso de la clase <(%de la biblioteca de .NET
± Concretamente, <(%/D- devuelve la hora actual
Luego, llamar a sus propiedades -, 3 y
, y al método
( de cada una de ellas para añadirlas al campo A&
ñ
ñ
ñ
G©
ñ
.$
T@
.$
T@
À La típica casilla de verificación
À Tiene un método .$
T que permite saber si está
seleccionada o no
ñ
ñ
ñ
GG
ñ
ñ
ñ
G
ñ
"
À Permiten crear una tabla de HTML:
ü&
ü
ü''ü#
ü'*ü#
(1, 1) (1, 2) (1, 3)
ü'Bü#
ü#
ü (2, 1) (2, 2) (2, 3)
ü*'ü#
ü**ü#
ü*Bü#
ü#
ü#&
ñ
ñ
ñ
G
ñ
"
À ASP .NET proporciona los siguientes controles Web
básicos para crear una tabla (hay otros más complejos):
(&
(&,-
(&.
ñ
ñ
ñ
GM
ñ
ñ
ñ
G^