Asp 2005
Asp 2005
Asp 2005
ASP.NET
Yuri Pando Fernandez
Consultor Independiente
Descripción
Introducciòn a la Web
Introducción al .NET Framework
Descripción de ASP.NET
Descripción de la aplicación del
laboratorio
Recursos
Evolucion
Próximo paso evolutivo de Internet
XML
TM L
H
g ía C P / IP
n o lo T
Tec
Standard Conectivid Presentac Programabi
Inno
vac FTP, E-mad ión lidad
ión ail, G
op
he r
Web
Page
s
Web
Navegar serv
ices
La Web Programa
r
Aplicaciones Web
Porque surgieron?
Tipos de Aplicaciones para Internet:
Aplicaciones Web
Servicios Web
Aplicaciones habilitadas a Internet
Aplicaciones Peer-to-Peer
El servidor web
Que es un servidor web?
Microsoft IIS
Características de IIS
Directorios Virtuales
Que es un servidor web
El conjunto de todas sus páginas web
se denomina sitio web.
Para que otros puedan ver su trabajo,
usted debe publicar su sitio web.
Para publicar su trabajo, usted debe
copiar su sitio a un servidor web.
Que es un servidor web
Un servidor web debe soportar los protocolos
estándar en la Internet.
HTTP (protocolo de transferencia de hipertexto)
Para publicar una página se suele utilizar un
protocolo más antiguo, el FTP (Protocolo de
transferencia de archivos).
Herramienta Client
s del es
desarrollado
r
Aplicacion
Bases de es Web
datos ASP.NET
Servicios Experienc
.NET Web XML ias del
Framew usuario
ork
¿Qué problemas soluciona .NET??
Visual
Basic C++ C# Perl Python …
ADO.NET y XML
COM+
Message
(Transacciones, Particiones,IIS WMI
Queuing
Agrupación de objetos)
Win32
Ventajas de usar el .NET Framework
Basado en estándares y prácticas Web
La funcionalidad de las clases .NET está
disponible de forma universal
El código está organizado en clases y
espacios de nombres jerárquicos
Independiente del lenguaje
MFC/ATL
Windows .NET
Visual Basic
API Framework
ASP
1980s 1990s 2000s
Visual Studio .NET: la herramienta para
el desarrollo .NET
Herramie Herramient
ntas Web as Windows
Forms Forms
DiseñarDesarrollarDepurarImplantar
Descripción de ASP.NET
¿Qué es ASP.NET?
Aplicación Web ASP.NET
Multimedia: modelo de ejecución
ASP.NET
¿Qué es ASP.NET?
Caché de Salida
Forms
Page Web
1. Página .
aspx s confi
código g
Page machi
Inter
Inter 2. traser
global. ne.
net
net aspx o
asax config
Explorador
de servidores
Propiedade
Lista de tareas
Crear un proyecto de aplicación Web
ASP.NET
El proceso de desarrollo
Archivos de la aplicación Web
Estructura de los archivos de la aplicación Web
Demostración: Crear un proyecto de aplicación
Web
El proceso de desarrollo
Crear una especificación
de diseño
Generar
Visual Studio .NET
Implementar
Archivos en aplicaciones Web
Archivos de solución (.sln, .suo)
Archivos de proyecto (.vbproj, .csproj)
Archivos de aplicación Web
Formularios Web Forms ASP.NET(.aspx)
Servicios Web ASP.NET (.asmx)
Clases, páginas de código subyacente (.vb
o .cs)
Clases de aplicaciones globales (.asax)
Archivo Web.config
Ensamblado del proyecto (.dll)
Estructura de los archivos de una
aplicación Web
Mis
Mis Documentos
Documentos Inetpub
Inetpub
Visual
Visual Studio
Studio
wwwroot
wwwroot
projects
projects
Solution
Solution ProjectA
ProjectA
Solution.sln ProjectA.vbproj
WebForm1.aspx
Archivos de desarrollo WebForm1.aspx.vb
(página de código subyacente)
Archivos de Bin
Bin
Aplicaciones
IIS
ASP .Net
.Net
Framework
Sistema Operativo
Conceptos Centrales de Asp
Separar presentación de lógica del
negocio
Usar servicios provistos por el .NET
Framework
El código es compilado la primera vez
que se accede a una página
Administración de estado
Utilización de cualquier lenguaje
Integración entre varios
¡Actualizar archivos mientras se está
ejecutando la aplicación!
Net Framework - Arquitectura
.NET Framework
ASP.NET
Windows Forms
Web Forms Servicios Web
Marco de Servicios
Output Cache
HTTPRuntime
IL de Assembly
IL de Assembly
Cliente Servidor
Que Son Web Forms…?
Páginas con extensión .aspx
Que incluyen la directiva @ Page
<%@ Page Language="vb“ %>
Utiliza el modelo de objeto del .Net
Framework
Contiene código HTML y declaraciones de
controles del lado del servidor
Puede incluir Script del lado del cliente
Puede incluir código del lado del servidor
Pero es mejor “ponerlo separado”
Y que son Controles al
Lado del Servidor
Objetos programables que se ejecutan en
el servidor Web
Exponen interfaces con propiedades y
métodos
Se encargan de generar el código HTML
correcto (“Rendering”)
Son capaces de generar distinto HTML de
acuerdo al Navegador
Se identifican por el atributo
runat=“server”
Tipos de Controles de
Lado del Servidor
• HTML
Son los controles comunes de
páginas HTML, pero capaces de
utilizar el atributo runat=server
Se encuentran definidos como
objetos dentro del Namespace
• System.Web.UI.HtmlControls
<asp:nombrecontrol id = “identificador“
runat = "server">
</asp:nombrecontrol>
Demo
Controles WEB
Controles Web Intrinsecos
• Los beneficios que se desprenden de utilizar
controles Web intrinsecos sobre los controles
HTML son:
Se ofrece una convencion de nomenclatura para los
controles similares.
Existe propiedades comunes para todos los controles,
ofreciendose un modelo de objeto mas robusto.
Se incluyen propiedades fuertemente tipadas
especificas de los controles.
Se genera codigo HTML especifico para cada
navegador Web
Controles Web Intrinsecos
• Los Controles Web deben de ser utilizados
en las siguientes situaciones:
Preferimos un modelo de programación similar a
Visual Basic ó C#.
Estamos escribiendo Web Forms que deben ser
mostrados por varios tipos de navegadores.
Se necesita una funcionalidad especifica, como
puede ser un calendario o un rotador de anuncios,
que se corresponden a los controles ricos, o bien
necesitamos realizar algún tipo de validación o
presentación de datos.
Controles Web Intrinsecos
• Los Controles HTML deben de ser
utilizados en las siguientes situaciones:
Preferimos un modelo de objetos similar al lenguaje
HTML.
Estamos trabajando con paginas Web existentes y
las queremos migrar a Web Forms.
El control debe de interactuar con script de cliente y
de servidor, en lo que al tratamiento de eventos se
refiere.
Controles Web Intrinsecos
• Proveen nombres estándar, con
propiedades comunes a los
controles
<asp:RadioButton BackColor="red" Text=" "... />
• <asp:CheckBox BackColor="red" Text=" "... />
• Incluyen propiedades específicas
<asp:CheckBox Checked="True" ... />
•
• Generan HTML acorde al navegador
que llama a la página.
<span>
<input type="checkbox" id="ctrl1"
checked="true" name="ctrl1">
<label for="ctrl1">Standard</label>
</span>
Controles Web Intrinsecos
• Button, Este control Web representa
un botón, es decir, un botón que envia
el contenido de un formulario al
servidor. Esta clase se corresponde
con el control <asp:Button>.
Demo
Control Button
Controles Web Intrinsecos
• CheckBox, Este control Web tiene dos
tratamientos distintos dentro de un
WebForm, como un control de entrada
de datos del usuario (valor Verdadero
o Falso); y el segundo
comportamiento lo tendrá si
espesificamos el valor true en la
propiedad AutoPostBack.
Demo
Control CheckBox
Controles Web Intrinsecos
• CheckBoxList, Este control Web permite
utilizar una lista de selección múltiple
de los elementos de Checkbox. Este
objeto posee una colección de Items
que contiene todos los objetos
Checkbox. Se puede especificar a
traves de las propiedades
RepeatLayout la distribucion de los
CheckBox en la pagina.
Controles Web Intrinsecos
• DropDownList, Este control Web
representa una lista desplegable.
También posee la porpiedad
AutoPostBack, si establecemos a True
esta propiedad al seleccionar un
elemento de la lista se enviará el
formulario al servidor.
• Image, Este control Web representa
una imagen dentro de una pagina ASP
.Net. Para indicar la imagen que
deseamos mostrar se utilizara la
propiedad image URL.
Demo
Control
DropDownList
y
Image
Controles Web Intrinsecos
• ImageButton, Este control Web es
muy similar al image, pero además de
mostrar una imagen posee la
característica adicional de funcionar
como un botón, se envía los
contenidos del formulario al servidor.
• LinkButton, Este control Web va a
representa un estilo similar a los
enlaces, este representa a los
HiperLink y ofrece la misma
funcionalidad que el control Button.
Demo
Control
ImageButton
Controles Web Intrinsecos
• ListBox, Este control Web representa
una lista de de selección sencilla o
múltiple, es similar al control
DropDownList, pero en este caso se
muestran varios elementos de la lista
y se permite la selección multiple.
En la propiedad Rows indicamos el
numero de filas visibles que va a
mostrar el control y en la propiedad
SelectionMode indicamos si se permite
selección Multiple.
Demo
Control ListBox
Controles Web Intrinsecos
• Panel, Este control Web se utiliza para agrupar
controles y realizar la funcion de contenedor de
los mismos. El control Panel posee una
propiedad llamada Controls que es una colección
que contiene todos los controles incluidos dentro
del objeto Panel.
• PlaceHolder, Este control Web se utiliza tambien
como contenedor de controles Web. Se utiliza
para añadir controles Web de forma dinamica en
la pagina ASP .Net en un punto determinado,
para ello se utiliza su propiedad Controls.
Demo
Control Panel
Controles Web Intrinsecos
• RadioButton, Este control Web
representa un botón de opción,
permite seleccionar una opción dentro
de un mismo grupo de opciones. Las
opciones se agrupan mediante la
propiedad GroupName.
Demo
Radio Button
y
RadioButtonList
Controles Web Intrinsecos
• Table, TableRow, TableCell, Estos
controles Web se encuentran muy
relacionados entre si, mediante la
utilizacion de todos ellos podremos
generar tablas en HTML.
Demo
Propiedades de Controles Web
• Una de las formas de utilizar estilos
con controles web es a traves de una
serie de propiedades que presentan
los propios controles web.
Demo
Propiedades
Propiedades CssClass
• Otra forma de aplicar estilos a un
control Web es mediante la propiedad
CssClass, a esta propiedad le
asignaremos el nombre de clase que
define al estilo que se desea aplicar
sobre el control Web correspondiente.
Demo
CssClass
Propiedades Style
• Mediante la propiedad style, que es
una colección que nos permite asignar
valores a las distintas propiedades del
estilo de control.
Demo
Style
Ciclo de Ejecucion Pagina
Page_Init
Page_Init
Page_Load
Page_Load
Textbox1_Changed
Textbox1_Changed
Button1_Click
Button1_Click
Page_Unload
Page_Unload
Se Descarta la página
Controlando Ciclo de Pagina
ItemTemp
ItemTemp
late
late
SeparatorTe
SeparatorTe
mplate
mplate
Alternating
Alternating
ItemTempl
ItemTempl
ate
ate
FooterTem
FooterTem
plate
plate
Plantillas de Presentación
HeaderTem
HeaderTem
plate
plate
ItemTemp
ItemTemp
late
late
SeparatorTe
SeparatorTe
mplate
mplate
Alternating
Alternating
ItemTempl
ItemTempl
ate
ate
FooterTem
FooterTem
plate
plate