David Salgado MVP C# [email protected] David Salgado MVP C# [email protected] Desarrollo...
-
Upload
vicenta-castro-torregrosa -
Category
Documents
-
view
224 -
download
0
Transcript of David Salgado MVP C# [email protected] David Salgado MVP C# [email protected] Desarrollo...
David SalgadoMVP C#[email protected]
David SalgadoMVP C#[email protected]
Desarrollo Web con ASP.NETDesarrollo Web con ASP.NET
Conceptos Previos… Conceptos Previos…
¿Qué pasa cuando solicitamos una página Web?¿Qué pasa cuando solicitamos una página Web?
es.thespoke.netes.thespoke.net
http gethttp get …………………………....
Desarrollo WebDesarrollo Web
Al principio se nos mandaba un documento TAL CUAL estaba en el servidor
Si queríamos cambiar la Web a mano
Al principio se nos mandaba un documento TAL CUAL estaba en el servidor
Si queríamos cambiar la Web a mano
¿Si tengo una tienda y ¿Si tengo una tienda y llegan las rebajas?llegan las rebajas?
Desarrollo WebDesarrollo Web
Ahora el documento que se envía al cliente se genera en el servidor
Pudiendo alimentarse de diferentes archivos, BBDD, XMLs,…
Diferentes tecnologías:CGIASP, perlServlets, JSP, php, tcl, …ASP.NET
Ahora el documento que se envía al cliente se genera en el servidor
Pudiendo alimentarse de diferentes archivos, BBDD, XMLs,…
Diferentes tecnologías:CGIASP, perlServlets, JSP, php, tcl, …ASP.NET
AgendaAgenda
ASP.NETInterioridadesControles de ServidorAplicaciones ASP.NETAsociando con fuentes de datosFuturo
ASP.NETInterioridadesControles de ServidorAplicaciones ASP.NETAsociando con fuentes de datosFuturo
Ideas Clave Ideas Clave
ASP.NET cambia la manera de desarrollar aplicaciones Web
Para ser productivo VS.NET
Los clientes Web son un escenario muy típico, cuanto antes aprendamos MEJOR
XML
ASP.NET cambia la manera de desarrollar aplicaciones Web
Para ser productivo VS.NET
Los clientes Web son un escenario muy típico, cuanto antes aprendamos MEJOR
XML
AgendaAgenda
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NETASP.NETNuevo modelo de ejecución para el desarrollo Web
Eventos y controles
Plataforma de desarrolloNueva arquitectura “Web Forms”Las páginas se adaptan al navegador
Luego llegó XForms del w3c
Mejor rendimientoSeparamos lógica y presentaciónEscalabilidad (granjas de servidores)Código compilado
Nuevo modelo de ejecución para el desarrollo Web
Eventos y controles
Plataforma de desarrolloNueva arquitectura “Web Forms”Las páginas se adaptan al navegador
Luego llegó XForms del w3c
Mejor rendimientoSeparamos lógica y presentaciónEscalabilidad (granjas de servidores)Código compilado
ASP.NET¿Qué debo instalar?ASP.NET¿Qué debo instalar?
En desarrollo.NET Framework SDK + IISASP.NET Web Matrix (servidor Web incluido)
Visual Studio .NET + IIS
En producción.NET Redistribuible + IIS
En desarrollo.NET Framework SDK + IISASP.NET Web Matrix (servidor Web incluido)
Visual Studio .NET + IIS
En producción.NET Redistribuible + IIS
Proceso de páginas ASP.NETaspnet_regiisProceso de páginas ASP.NETaspnet_regiis
WebFormsCiclo de vida basado en eventosWebFormsCiclo de vida basado en eventos
Page_LoadPage_Load
Page_UnloadPage_Unload
Textbox1_ChangedTextbox1_Changed
Button1_ClickButton1_Click
Control de los EventosControl de los Eventos
1. Eventos de cambio1. Eventos de cambio
2. Eventos de acción2. Eventos de acción
La página se lee e inicializaLa página se lee e inicializa
página se destruyepágina se destruye
Eventos y ciclo de vidaEventos y ciclo de vida
AgendaAgenda
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
Controles de Controles de ServidorServidor
InterioridadesEstructura de páginaInterioridadesEstructura de página<%@Page Language=“C#”%><html> <script runat=“server”>
public void Page_Load(object o, EventArgs ea) { l.Text = “Hola :D”; } </script> <body>
<form runat=“server”> Introduce el nombre:
<asp:Label ID=“l” runat=“server” /> <asp:Button ID=“b” Text=“Pulsa” runat=“server”/> <% Response.Write( DateTime.Now.ToString() ); %> </form> </body></html>
<%@Page Language=“C#”%><html> <script runat=“server”>
public void Page_Load(object o, EventArgs ea) { l.Text = “Hola :D”; } </script> <body>
<form runat=“server”> Introduce el nombre:
<asp:Label ID=“l” runat=“server” /> <asp:Button ID=“b” Text=“Pulsa” runat=“server”/> <% Response.Write( DateTime.Now.ToString() ); %> </form> </body></html>
DirectivasDirectivasDeclaración Declaración MétodosMétodosCódigoCódigo
Generación de HTMLGeneración de HTML
InterioridadesEstructura de la página ASPXInterioridadesEstructura de la página ASPX
Todo lo que está en la página da lugar a una clase que deriva de System.Web.UI.PagePues hacemos un truco }:D
Creamos una clase que derive de System.Web.UI.PageInsertamos controles de servidor, métodos y gestores de eventosCreamos una página que derive de esa clase
¡Hemos separado diseño e implementación!
Todo lo que está en la página da lugar a una clase que deriva de System.Web.UI.PagePues hacemos un truco }:D
Creamos una clase que derive de System.Web.UI.PageInsertamos controles de servidor, métodos y gestores de eventosCreamos una página que derive de esa clase
¡Hemos separado diseño e implementación!
InterioridadesEstructura de la página ASPX (codebehind)InterioridadesEstructura de la página ASPX (codebehind)
using System;…..
public class ClaseBase: System.Web.UI.Page{ private Label lbl = new Label(); private Button btn = new Button(); public void Page_Load ( object o, EventArgs ea ) { lbl.Text=“Desde codebehind”; } …..}
using System;…..
public class ClaseBase: System.Web.UI.Page{ private Label lbl = new Label(); private Button btn = new Button(); public void Page_Load ( object o, EventArgs ea ) { lbl.Text=“Desde codebehind”; } …..}
<%@ Page Language=“C#” Inherits=“ClaseBase” %><html><body>
<form runat=“server”> Introduce el nombre:
<asp:Label ID=“lbl” runat=“server” /> <asp:Button ID=“btn” Text=“Pulsa” runat=“server”/>
</form> </body></html>
<%@ Page Language=“C#” Inherits=“ClaseBase” %><html><body>
<form runat=“server”> Introduce el nombre:
<asp:Label ID=“lbl” runat=“server” /> <asp:Button ID=“btn” Text=“Pulsa” runat=“server”/>
</form> </body></html>
Code behind(código subyacente)Code behind(código subyacente)
AgendaAgenda
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
Tipos de controles de servidorTipos de controles de servidor
PotentesCalendar, AdRotator, Xml…
ValidaciónRequiredFieldValidator, CompareValidator,…
Presentación de datosDropDownList, ComboBox,…
BásicosButton, Label, TextBox,...
PotentesCalendar, AdRotator, Xml…
ValidaciónRequiredFieldValidator, CompareValidator,…
Presentación de datosDropDownList, ComboBox,…
BásicosButton, Label, TextBox,...
AgendaAgenda
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
Aplicaciones ASP.NETEstructura de AplicaciónAplicaciones ASP.NETEstructura de Aplicación
Una aplicación es mucho más que un conjunto de páginas
Configuración Web.configEventos de aplicación Global.asaxControles de usuario *.ascxLibrerías \bin
Además, deben poder trabajar juntosControl de la navegación
Server.Transfer(), Response.Redirect()Session, Application, Cache, Cookies, Viewstate
Una aplicación es mucho más que un conjunto de páginas
Configuración Web.configEventos de aplicación Global.asaxControles de usuario *.ascxLibrerías \bin
Además, deben poder trabajar juntosControl de la navegación
Server.Transfer(), Response.Redirect()Session, Application, Cache, Cookies, Viewstate
Aplicaciones ASP.NETControl de la navegaciónAplicaciones ASP.NETControl de la navegación
¿ Cómo comparten información las páginas ?
ParamsGet / Post
SessionUn usuario
ApplicationCompartido por todos los usuarios
CachéViewstateCookies
¿ Cómo comparten información las páginas ?
ParamsGet / Post
SessionUn usuario
ApplicationCompartido por todos los usuarios
CachéViewstateCookies
Web PersonalWeb Personal
AgendaAgenda
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
Asociando fuentes de datosADO.NETAsociando fuentes de datosADO.NET
Bloque encargado del trabajo con fuentes de datos (BBDD, XML…)
Modos de funcionamientoConectadoDesconectado
DataBind(): integración con controles de usuario
Asociamos control visual con fuente de datosEllos se apañan
Bloque encargado del trabajo con fuentes de datos (BBDD, XML…)
Modos de funcionamientoConectadoDesconectado
DataBind(): integración con controles de usuario
Asociamos control visual con fuente de datosEllos se apañan
ASP.NET && ADO.NETASP.NET && ADO.NET
AgendaAgenda
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
ASP.NET
Interioridades
Controles de Servidor
Aplicaciones ASP.NET
Asociando con fuentes de datos
Futuro
FuturoASP.NET 2.0FuturoASP.NET 2.0
Mejoras a nivel de páginasPáginas Master, Skins,…
Mejoras en los controlesLogin, CreateUser, Navigation,…
Entorno de desarrolloVisual Studio .NET 2005
Visual C#, C++, VB, Web Developer Express
Mejoras a nivel de páginasPáginas Master, Skins,…
Mejoras en los controlesLogin, CreateUser, Navigation,…
Entorno de desarrolloVisual Studio .NET 2005
Visual C#, C++, VB, Web Developer Express
Visual Studio 2005Visual Studio 2005
•Webcast teórico•Talleres en ciudades•Aplicación MSDN Video
•Webcast práctica 18 Octubre•Chat 28 Octubre
•www.DesarrollaConMSDN.com•Código de MSDN Video•Calendario•Tutoriales•Seminarios•Foros•Descuento 40% libros
•Webcast teórico•Talleres en ciudades•Aplicación MSDN Video
•Webcast práctica 18 Octubre•Chat 28 Octubre
•www.DesarrollaConMSDN.com•Código de MSDN Video•Calendario•Tutoriales•Seminarios•Foros•Descuento 40% libros
SepSep OctOct NoNovv
DicDic EneEne FebFeb MaMarr
AbrAbr MaMayy
JunJun
.NET y .NET y Servicios Servicios
WebWeb
Desarrollo Desarrollo webweb
SmartSmartClientsClients
Visual Studio Visual Studio 20052005
SQL Server 2005SQL Server 2005
RecursosRecursos
www.microsoft.es/eventoswww.microsoft.es/eventos
www.asp.netwww.asp.net
www.gotdotnet.com/quickstartwww.gotdotnet.com/quickstart
Varioswww.microsoft.com/spain/msdnMSDN Video
Aplicación + Talleres MSDN + WebCasts
nntp://news.microsoft.com
www.muxu.netwww.muxu.net ;)
www.microsoft.es/eventoswww.microsoft.es/eventos
www.asp.netwww.asp.net
www.gotdotnet.com/quickstartwww.gotdotnet.com/quickstart
Varioswww.microsoft.com/spain/msdnMSDN Video
Aplicación + Talleres MSDN + WebCasts
nntp://news.microsoft.com
www.muxu.netwww.muxu.net ;)
¿ Preguntas ?¿ Preguntas ?Gracias Gracias
© 2004, 2005 Microsoft Corporation. Todos los derechos reservados.© 2004, 2005 Microsoft Corporation. Todos los derechos reservados.Esta presentación tiene propósito informativo únicamente. Microsoft no ofrece ninguna garantía , expresa o implítica, en este documento.Esta presentación tiene propósito informativo únicamente. Microsoft no ofrece ninguna garantía , expresa o implítica, en este documento.