33
DESARROLLO WEB CON DESARROLLO WEB CON ASP.NET ASP.NET

DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

DESARROLLO WEB CON DESARROLLO WEB CON ASP.NETASP.NET

Page 2: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

HTML (1991)HTML (1991) Páginas estáticas orientadas al contenidoPáginas estáticas orientadas al contenido

CGI (1993)CGI (1993) (Common Gateway Interface) (Common Gateway Interface) Ejecutables que generan Ejecutables que generan

HTML dinámicamenteHTML dinámicamente Versión mejorada: ISAPI. LVersión mejorada: ISAPI. La aplicación Web no era un a aplicación Web no era un

ejecutable independiente, sino un plug-in. En caso de ejecutable independiente, sino un plug-in. En caso de Windows se trataba de una DLL que era invocada en el Windows se trataba de una DLL que era invocada en el propio contexto del servidor Web.propio contexto del servidor Web.

ASP (1996), PHP (1997), JSP (1999)ASP (1996), PHP (1997), JSP (1999) Páginas HTML Páginas HTML queque incluyen código script dinámico incluyen código script dinámico

Historia del desarrollo webHistoria del desarrollo web

Page 3: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

www.profmatiasgarwww.profmatiasgarcia.com.arcia.com.ar

IP = IP = 173.237.190.67173.237.190.67

http://http://www.profmatiasgarciwww.profmatiasgarcia.com.ar/apweb.htmla.com.ar/apweb.html

http://http://www.profmatiasgarciwww.profmatiasgarcia.com.ar/apweb.htmla.com.ar/apweb.html

IP=173.237.190.67 IP=173.237.190.67 Puerto: 80Puerto: 80IP=173.237.190.67 IP=173.237.190.67 Puerto: 80Puerto: 80

apweb.htmlapweb.html<html><html><body><body>Bienvenidos alBienvenidos alCurso ASP.NET Curso ASP.NET </body></body></html></html>

apweb.htmlapweb.html<html><html><body><body>Bienvenidos alBienvenidos alCurso ASP.NET Curso ASP.NET </body></body></html></html>

Internet Internet DNSDNS

ServidorServidor

ClienteCliente

HTTP RequestHTTP Request

HTTP ResponseHTTP Response

Aplicaciones WebAplicaciones Web

Page 4: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Aplicaciones WebAplicaciones Web Una aplicación web es un programa que genera archivos en HTML Una aplicación web es un programa que genera archivos en HTML

(páginas) que se transmiten por medio del protocolo HTTP de un servidor (páginas) que se transmiten por medio del protocolo HTTP de un servidor al cliente y viceversa, brindando distintas funcionalidades a un usuario al cliente y viceversa, brindando distintas funcionalidades a un usuario final.final.

El HTTP define como los navegadores y los servidores Web se El HTTP define como los navegadores y los servidores Web se comunican uno con otro.comunican uno con otro.

En una aplicación web, el componente principal es el HTML Form, que es En una aplicación web, el componente principal es el HTML Form, que es el elemento de html que contiene los controles de la interfaz de usuario el elemento de html que contiene los controles de la interfaz de usuario de cada página y captura la entrada de datos del usuario. El HTML Form de cada página y captura la entrada de datos del usuario. El HTML Form es la porción de la página que es enviada a través del protocolo HTTP al es la porción de la página que es enviada a través del protocolo HTTP al servidor para procesar el pedido realizado por el usuario. servidor para procesar el pedido realizado por el usuario.

Page 5: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Un servidor web es un programa que ejecuta una aplicación Un servidor web es un programa que ejecuta una aplicación web que genera las páginas disponibles para ser visitadas web que genera las páginas disponibles para ser visitadas por los usuarios de la red. A la computadora que ejecuta este por los usuarios de la red. A la computadora que ejecuta este programa también se lo llama servidor web.programa también se lo llama servidor web.

Internet Information Server (IIS), es el servidor Web de Internet Information Server (IIS), es el servidor Web de Microsoft que corre sobre plataformas Windows. Los servicios Microsoft que corre sobre plataformas Windows. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS

las páginas ASP tienen la extensión .ASP y son procesadas las páginas ASP tienen la extensión .ASP y son procesadas por la DLL ASP.DLL y sin embargo las páginas ASP.Net poseen por la DLL ASP.DLL y sin embargo las páginas ASP.Net poseen la extensión .ASPX y son procesadas por el entorno de la extensión .ASPX y son procesadas por el entorno de ejecución .NET Framework, que las transforma en el código ejecución .NET Framework, que las transforma en el código intermedio, representado en este caso por la DLL intermedio, representado en este caso por la DLL ASPNET_ISAPI.DLL. ASPNET_ISAPI.DLL.

Servidor WebServidor Web

Page 6: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Hypertext Transfer Protocol (HTTP)Hypertext Transfer Protocol (HTTP) HTTP es un protocolo de Internet que define la sintaxis y la HTTP es un protocolo de Internet que define la sintaxis y la

semántica que deben utilizar los navegadores y los servidores semántica que deben utilizar los navegadores y los servidores Web para poder comunicarseWeb para poder comunicarse

Esta basado en texto y es transmitido sobre conexiones TCPEsta basado en texto y es transmitido sobre conexiones TCP Es un protocolo orientado a transacciones y sigue el esquema Es un protocolo orientado a transacciones y sigue el esquema

petición-respuesta entre un cliente y un servidor. Al cliente petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador web o un spider) se lo que efectúa la petición (un navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción un programa, una consulta a una base de datos, la traducción automática de un documento, etc.automática de un documento, etc.

Page 7: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

HTTP RequestHTTP RequestGET GET /apweb.html/apweb.html HTTP/1.1 HTTP/1.1Accept: */*Accept: */*Accept-Language:...Accept-Language:...Accept-Encoding:...Accept-Encoding:...If-Modified-Since:...If-Modified-Since:...If-None-Match:...If-None-Match:...User-Agent: Mozilla/4.0...User-Agent: Mozilla/4.0...Host: Host: www.profmatiasgarcia.com.arwww.profmatiasgarcia.com.arConnection: Keep-AliveConnection: Keep-Alive[blank line][blank line]

GET GET /apweb.html/apweb.html HTTP/1.1 HTTP/1.1Accept: */*Accept: */*Accept-Language:...Accept-Language:...Accept-Encoding:...Accept-Encoding:...If-Modified-Since:...If-Modified-Since:...If-None-Match:...If-None-Match:...User-Agent: Mozilla/4.0...User-Agent: Mozilla/4.0...Host: Host: www.profmatiasgarcia.com.arwww.profmatiasgarcia.com.arConnection: Keep-AliveConnection: Keep-Alive[blank line][blank line]

Page 8: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

HTTP ResponseHTTP ResponseHTTP/1.1 HTTP/1.1 200200 OK OKServer: Microsoft-IIS/5.0Server: Microsoft-IIS/5.0Date: ...Date: ...Content-Type: Content-Type: text/htmltext/htmlAccept-Ranges: bytesAccept-Ranges: bytesLast-Modified: ...Last-Modified: ...ETag: ...ETag: ...Content-Length: 46Content-Length: 46[blank line][blank line]<html><html><body><body>Bienvenidos al Curso ASP.NET Bienvenidos al Curso ASP.NET </body></body></html></html>

HTTP/1.1 HTTP/1.1 200200 OK OKServer: Microsoft-IIS/5.0Server: Microsoft-IIS/5.0Date: ...Date: ...Content-Type: Content-Type: text/htmltext/htmlAccept-Ranges: bytesAccept-Ranges: bytesLast-Modified: ...Last-Modified: ...ETag: ...ETag: ...Content-Length: 46Content-Length: 46[blank line][blank line]<html><html><body><body>Bienvenidos al Curso ASP.NET Bienvenidos al Curso ASP.NET </body></body></html></html>

Page 9: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

HyperText Markup Language HTMLHyperText Markup Language HTML Lenguaje de marcado predominante para la elaboración de Lenguaje de marcado predominante para la elaboración de

páginas web que se utiliza para describir y traducir la páginas web que se utiliza para describir y traducir la estructura y la información en forma de texto, así como para estructura y la información en forma de texto, así como para complementar el texto con objetos tales como imágenes. complementar el texto con objetos tales como imágenes.

El HTML se escribe en forma de «etiquetas», rodeadas por El HTML se escribe en forma de «etiquetas», rodeadas por corchetes angulares (<,>), por ejemplo <tag> …. </tag>.corchetes angulares (<,>), por ejemplo <tag> …. </tag>.

HTML también puede describir, hasta un cierto punto, la HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por apariencia de un documento, y puede incluir un script (por ejemplo JavaScript), el cual puede afectar el comportamiento ejemplo JavaScript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.de navegadores web y otros procesadores de HTML.

Page 10: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

HTML FormsHTML Forms En el corazón de toda aplicación Web están los HTML FormsEn el corazón de toda aplicación Web están los HTML Forms Un HTML Form es la porción de un documento HTML que Un HTML Form es la porción de un documento HTML que

aparece entre las etiquetas <form></form>aparece entre las etiquetas <form></form>

Page 11: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Las páginas ASP.Net (Active Server Pages), también llamadas Las páginas ASP.Net (Active Server Pages), también llamadas páginas activas o dinámicas, son páginas que contienen código páginas activas o dinámicas, son páginas que contienen código HTML, script de cliente y un código que se ejecuta en el servidor, HTML, script de cliente y un código que se ejecuta en el servidor, dando como resultado código HTML. Por lo tanto al cargar una dando como resultado código HTML. Por lo tanto al cargar una página ASP.Net en nuestro navegador, en realidad no estamos página ASP.Net en nuestro navegador, en realidad no estamos cargando la página ASP.Net como tal, sino el resultado de la cargando la página ASP.Net como tal, sino el resultado de la ejecución de la página, es decir la salida de la página ASP.Net, que ejecución de la página, es decir la salida de la página ASP.Net, que se trata de código HTML. Es decir, son páginas que se ejecutan en el se trata de código HTML. Es decir, son páginas que se ejecutan en el servidor enviando como resultado al cliente código HTML.servidor enviando como resultado al cliente código HTML.

Podemos definir ASP.Net como el entorno de desarrollo incluido en Podemos definir ASP.Net como el entorno de desarrollo incluido en la plataforma .NET de Microsoft, que nos permite desarrollar la plataforma .NET de Microsoft, que nos permite desarrollar completas aplicaciones Web que se ejecutarán sobre el entorno completas aplicaciones Web que se ejecutarán sobre el entorno ofrecido por el .NET Frameworkofrecido por el .NET Framework

Qué es ASP.Net?Qué es ASP.Net?

Page 12: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

ASP.Net es un “Marco” (framework) para programar ASP.Net es un “Marco” (framework) para programar aplicaciones web, de un modo similar al que se programan las aplicaciones web, de un modo similar al que se programan las aplicaciones windows. El componente principal son los aplicaciones windows. El componente principal son los Web Web Forms Forms (formularios web) que permiten, entre otras cosas, (formularios web) que permiten, entre otras cosas, separar la interfaz del usuario de la funcionalidad de la separar la interfaz del usuario de la funcionalidad de la aplicación.aplicación.

ASP.Net no es un lenguaje de programación, sino que es un ASP.Net no es un lenguaje de programación, sino que es un entorno de programación o tecnología de desarrollo, pero no es entorno de programación o tecnología de desarrollo, pero no es un lenguaje. De hecho ASP.Net soporta distintos lenguajes un lenguaje. De hecho ASP.Net soporta distintos lenguajes como Visual Basic.Net, C# o JScript.como Visual Basic.Net, C# o JScript.

ASP.Net permite generar aplicaciones web con el paradigma de ASP.Net permite generar aplicaciones web con el paradigma de WindowsWindows

Qué es ASP.Net?Qué es ASP.Net?

Page 13: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET, XML, Enterprise ServicesADO.NET, XML, Enterprise Services

VBVB C++C++ C#C#Visual S

tudio.NET

Visual Studio.N

ET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Qué es ASP.Net?Qué es ASP.Net?

Page 14: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Formularios Web o páginas .ASPXFormularios Web o páginas .ASPX: Proveen de la interfase : Proveen de la interfase visual. No tienen código ejecutable.visual. No tienen código ejecutable.

Páginas de Code-behindPáginas de Code-behind: Están asociadas con cada formulario : Están asociadas con cada formulario y son las que proveen del código ejecutable del lado del y son las que proveen del código ejecutable del lado del servidor.servidor.

Archivos de ConfiguraciónArchivos de Configuración: Son archivos que permiten : Son archivos que permiten configurar la aplicación, por ejemplo el archivo Web.config y configurar la aplicación, por ejemplo el archivo Web.config y el servidor por ejemplo el archivo machine.config.el servidor por ejemplo el archivo machine.config.

Global.asaxGlobal.asax: Es un archivo que contiene código. Este código : Es un archivo que contiene código. Este código responde a eventos que se disparan en la aplicación Web.responde a eventos que se disparan en la aplicación Web.

Referencias a servicios web xml.Referencias a servicios web xml. Conectividad a bases de datos.Conectividad a bases de datos. Sistema de caché.Sistema de caché.

Componentes de las aplicaciones Componentes de las aplicaciones Web ASP.NetWeb ASP.Net

Page 15: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Web FormsWeb Forms Combinación de código HTML + controles que se ejecutan en el Combinación de código HTML + controles que se ejecutan en el

servidorservidor Pueden usarse para crear páginas Web programables que sirvan Pueden usarse para crear páginas Web programables que sirvan

como interfaz de usuario de las aplicaciones Web. como interfaz de usuario de las aplicaciones Web. Extensión .aspxExtensión .aspx Formularios semejantes a los Windows Forms pero en WebFormularios semejantes a los Windows Forms pero en Web

Separación lógica – diseñoSeparación lógica – diseño Componentes gráficosComponentes gráficos EstadoEstado EventosEventos PropiedadesPropiedades

Admiten cualquier lenguaje compatible con Common Language Admiten cualquier lenguaje compatible con Common Language Runtime de .NET, incluidos  Visual Basic,  Visual C# y  JScript.NET. Runtime de .NET, incluidos  Visual Basic,  Visual C# y  JScript.NET.

Page 16: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Una Página Web ASP.Net consta de dos partes:Una Página Web ASP.Net consta de dos partes: Elementos visuales, que incluyen controles del servidor y texto estático.Elementos visuales, que incluyen controles del servidor y texto estático. Programación lógica para la página, que incluye manejador de eventos Programación lógica para la página, que incluye manejador de eventos

y el resto del código. y el resto del código.

Modelos de PáginaModelos de Página Modelo de Página Single-File: el HTML y el código de programación se Modelo de Página Single-File: el HTML y el código de programación se

almacena en el mismo .aspx. El código de programación es un bloque almacena en el mismo .aspx. El código de programación es un bloque que contiene el atributo runat=“server”, para marcar al código como que contiene el atributo runat=“server”, para marcar al código como código ejecutable por ASP.NETcódigo ejecutable por ASP.NET

Modelo de Página Code-Behind: el HTML esta en un archivo .aspx y el Modelo de Página Code-Behind: el HTML esta en un archivo .aspx y el código de programación en otro archivo .aspx. código de programación en otro archivo .aspx.

Modelo de Código de Páginas WebModelo de Código de Páginas Web

Page 17: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Atributos de una páginaAtributos de una página Tres niveles de atributosTres niveles de atributos

Page, Definen funciones globalesPage, Definen funciones globales<%@ Page Language="C#" AutoEventWireup="true" <%@ Page Language="C#" AutoEventWireup="true" CodeFile="inicio.aspx.cs" Inherits="inicio" %>CodeFile="inicio.aspx.cs" Inherits="inicio" %>

Código, gestión de eventos del formulario Código, gestión de eventos del formulario <script> .... </script><script> .... </script>

LayOut, presentación de los datosLayOut, presentación de los datosBody, Como se va a mostrar la páginaBody, Como se va a mostrar la página< body>< body>........</body></body>Form, como se procesan grupos de controlForm, como se procesan grupos de control< form id=“Form1” method=“post” runat=“server”>< form id=“Form1” method=“post” runat=“server”>........</form></form>

Page 18: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Etiqueta <@ Page >Etiqueta <@ Page > LanguageLanguage

Lenguaje en el que está escritaLenguaje en el que está escrita Vb, c#, jscripVb, c#, jscrip

CodeFileCodeFile Qué página contiene el códigoQué página contiene el código

InheritsInherits Clase con la que va a trabajarClase con la que va a trabajar

AutoEventWireupAutoEventWireup Si hay que especificar los procedimientos para los eventos o los toma Si hay que especificar los procedimientos para los eventos o los toma

dependiendo del nombre del procedimientosdependiendo del nombre del procedimientos

Page 19: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Etiqueta <script>Etiqueta <script> Código para ejecutar eventos del clienteCódigo para ejecutar eventos del cliente <script runat=“server”> el evento se ejecuta en el servidor<script runat=“server”> el evento se ejecuta en el servidor Se recomienda programar los eventos de servidor en el Se recomienda programar los eventos de servidor en el

archivo de código asociado para diferenciarlo del código que archivo de código asociado para diferenciarlo del código que va a interpretar el navegadorva a interpretar el navegador

Page 20: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Etiqueta <form>Etiqueta <form> No tiene que ver con el concepto de formulario.No tiene que ver con el concepto de formulario. Puede tener varios <form> .. </form> en una web pero solo Puede tener varios <form> .. </form> en una web pero solo

uno que se ejecute en el lado servidoruno que se ejecute en el lado servidor Method, como se envían los valores al servidorMethod, como se envían los valores al servidor

Post, datos se envían en parejas nombre/valor dentro de la petición Post, datos se envían en parejas nombre/valor dentro de la petición httphttp

Get, datos se pasan como un stringGet, datos se pasan como un string Runat, identifica si se devuelve información al servidorRunat, identifica si se devuelve información al servidor

Runat=“server”, envía la información al servidorRunat=“server”, envía la información al servidor No tiene, se ejecuta como un formulario HTMLNo tiene, se ejecuta como un formulario HTML

Page 21: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Tipos de controles servidorTipos de controles servidor HTML server controlsHTML server controls

Son elementos HTML que contienen atributos que los hacen visibles (y Son elementos HTML que contienen atributos que los hacen visibles (y programables) en un servidor. Exponen un modelo de objeto que se programables) en un servidor. Exponen un modelo de objeto que se relacionan muy estrechamente con los elementos HTML que procesan. relacionan muy estrechamente con los elementos HTML que procesan.

Añadir runat=“server” para tratarlo en el modo servidorAñadir runat=“server” para tratarlo en el modo servidor Web server controlsWeb server controls

Controles con más funciones incorporadas. incluyen no sólo controles de Controles con más funciones incorporadas. incluyen no sólo controles de tipo formulario como botones y cuadros de texto, sino también controles tipo formulario como botones y cuadros de texto, sino también controles con fines especiales como un calendario. Los controles de servidor Web con fines especiales como un calendario. Los controles de servidor Web son más abstractos que los controles de servidor HTML pues su modelo son más abstractos que los controles de servidor HTML pues su modelo de objetos no refleja necesariamente la sintaxis HTML. de objetos no refleja necesariamente la sintaxis HTML.

Integrados, equivalentes a los controles HTMLIntegrados, equivalentes a los controles HTML Validación, testear los datos introducidosValidación, testear los datos introducidos Enriquecidos, funcionalidad avanzadaEnriquecidos, funcionalidad avanzada Enlazados a datosEnlazados a datos Controles Web, presentación de datos en navegadoresControles Web, presentación de datos en navegadores

Page 22: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Controles de servidor HTMLControles de servidor HTML Acceso desde el lado de servidorAcceso desde el lado de servidor Las propiedades son todas de tipo String, por lo que solo se detecta Las propiedades son todas de tipo String, por lo que solo se detecta

los errores cuando se ejecutalos errores cuando se ejecuta Están dentro de una etiqueta Están dentro de una etiqueta <Form ... Runat=“server”><Form ... Runat=“server”> Namespace System.Web.UI.HTMLControlsNamespace System.Web.UI.HTMLControls Permite actualizar rápidamente una página html con nuevas Permite actualizar rápidamente una página html con nuevas

funcionalidadesfuncionalidades<input type=“text” id=“textname” runat=“server”><input type=“text” id=“textname” runat=“server”>

Ofrecen las funciones siguientes: Ofrecen las funciones siguientes: Un modelo de objetos que pueda volver a programar en el servidor con las técnicas habituales Un modelo de objetos que pueda volver a programar en el servidor con las técnicas habituales

orientadas a objetos.orientadas a objetos. Un conjunto de eventos para los que pueda escribir controles de eventos de la misma forma que lo Un conjunto de eventos para los que pueda escribir controles de eventos de la misma forma que lo

haría en un formulario basado en cliente, con la excepción de que un evento se controla en código haría en un formulario basado en cliente, con la excepción de que un evento se controla en código del servidor. del servidor.

Mantenimiento automático del estado del control. Si el formulario realiza una acción de ida y Mantenimiento automático del estado del control. Si el formulario realiza una acción de ida y vuelta al servidor, los valores que el usuario escriba en los controles de servidor HTML se vuelta al servidor, los valores que el usuario escriba en los controles de servidor HTML se mantendrán automáticamente cuando la página se envíe de vuelta al explorador. mantendrán automáticamente cuando la página se envíe de vuelta al explorador.

Compatibilidad con estilos HTML 4.0 si la página de formularios Web Forms se muestra en un Compatibilidad con estilos HTML 4.0 si la página de formularios Web Forms se muestra en un explorador que admite hojas de estilos en cascada. explorador que admite hojas de estilos en cascada.

Page 23: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

HtmlImageHtmlImageHtmlImageHtmlImage

HtmlInputControlHtmlInputControlHtmlInputControlHtmlInputControl

System.ObjectSystem.ObjectSystem.ObjectSystem.Object

System.Web.UI.ControlSystem.Web.UI.ControlSystem.Web.UI.ControlSystem.Web.UI.Control

HtmlInputFileHtmlInputFileHtmlInputFileHtmlInputFile

HtmlInputHiddenHtmlInputHiddenHtmlInputHiddenHtmlInputHidden

HtmlInputImageHtmlInputImageHtmlInputImageHtmlInputImage

HtmlInputRadioButtonHtmlInputRadioButtonHtmlInputRadioButtonHtmlInputRadioButton

HtmlInputTextHtmlInputTextHtmlInputTextHtmlInputText

HtmlInputButtonHtmlInputButtonHtmlInputButtonHtmlInputButton

HtmlInputCheckBoxHtmlInputCheckBoxHtmlInputCheckBoxHtmlInputCheckBox

HtmlContainerControlHtmlContainerControlHtmlContainerControlHtmlContainerControl

HtmlControlsHtmlControlsHtmlControlsHtmlControls

HtmlFormHtmlFormHtmlFormHtmlForm

HtmlGenericControlHtmlGenericControlHtmlGenericControlHtmlGenericControl

HtmlSelectHtmlSelectHtmlSelectHtmlSelect

HtmlTableHtmlTableHtmlTableHtmlTable

HtmlTableCellHtmlTableCellHtmlTableCellHtmlTableCell

HtmlTableRowHtmlTableRowHtmlTableRowHtmlTableRow

HtmlTextAreaHtmlTextAreaHtmlTextAreaHtmlTextArea

HtmlAnchorHtmlAnchorHtmlAnchorHtmlAnchor

HtmlButtonHtmlButtonHtmlButtonHtmlButton

<img><img>

<input type=file><input type=file>

<input type=hidden><input type=hidden>

<input type=image><input type=image>

<input type=radio><input type=radio>

<input type=text><input type=text>

<input type=button><input type=button>

<input type=checkbox><input type=checkbox>

<form><form>

<span>, <span>, <div>, <div>,

<select><select>

<table><table>

<td>, <th><td>, <th>

<tr><tr>

<textarea><textarea>

<a><a>

<button><button>

Controles de servidor HTMLControles de servidor HTML

Page 24: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Controles de servidor WEB Controles de servidor WEB Creados para ASP.NetCreados para ASP.Net No tienen funcionalidad si no tienen una etiqueta runat=“server”No tienen funcionalidad si no tienen una etiqueta runat=“server” Propiedades son tipadas, permite detectar errores antes de Propiedades son tipadas, permite detectar errores antes de

compilarcompilar Namespace System.Web.UI.WebControlsNamespace System.Web.UI.WebControls Ofrecen todas las funciones descritas anteriormente para los Ofrecen todas las funciones descritas anteriormente para los

controles de servidor HTML (excepto la asignación uno a uno a controles de servidor HTML (excepto la asignación uno a uno a elementos HTML) y estas funciones adicionales: elementos HTML) y estas funciones adicionales: Un modelo de objetos enriquecido que proporciona capacidades de programación de tipo Un modelo de objetos enriquecido que proporciona capacidades de programación de tipo

seguro. seguro. Detección automática del explorador.Detección automática del explorador. La capacidad de definir su propia apariencia para el control mediante plantillas. La capacidad de definir su propia apariencia para el control mediante plantillas. La capacidad de especificar si un evento del control provoca un envío inmediato al servidor o, La capacidad de especificar si un evento del control provoca un envío inmediato al servidor o,

en su lugar, se almacena en caché y se activa cuando se envía el formulario. en su lugar, se almacena en caché y se activa cuando se envía el formulario. Capacidad para pasar eventos de un control anidado (como un botón en una tabla) al control Capacidad para pasar eventos de un control anidado (como un botón en una tabla) al control

contenedor. contenedor. Los atributos no son los de los elementos HTML. En lugar de ello, son propiedades del control Los atributos no son los de los elementos HTML. En lugar de ello, son propiedades del control

Web.Web.

Page 25: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

AdRotatorAdRotatorAdRotatorAdRotator

BaseDataListBaseDataListBaseDataListBaseDataList

System.ObjectSystem.ObjectSystem.ObjectSystem.Object

DataGridDataGridDataGridDataGrid

DataListDataListDataListDataList

ListControlListControlListControlListControl

RadioButtonListRadioButtonListRadioButtonListRadioButtonList

CheckBoxListCheckBoxListCheckBoxListCheckBoxList

DropDownListDropDownListDropDownListDropDownList

ListBoxListBoxListBoxListBox

PanelPanelPanelPanel

TableTableTableTable

RepeaterRepeaterRepeaterRepeater XmlXmlXmlXml

System.Web.UI.ControlSystem.Web.UI.ControlSystem.Web.UI.ControlSystem.Web.UI.Control

WebControlsWebControlsWebControlsWebControls

ButtonButtonButtonButton

CalendarCalendarCalendarCalendar

HyperLinkHyperLinkHyperLinkHyperLink

TextBoxTextBoxTextBoxTextBox

RadioButtonRadioButtonRadioButtonRadioButton

CheckBoxCheckBoxCheckBoxCheckBox

LabelLabelLabelLabel

ImageButtonImageButtonImageButtonImageButton

ImageImageImageImage

Controles de servidor WEB Controles de servidor WEB

Page 26: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Eventos de servidorEventos de servidor Los controles pueden lanzar eventosLos controles pueden lanzar eventos

Ya sean un HtmlControl o un WebControlYa sean un HtmlControl o un WebControl Load, Click, TextChange, SelectedItemChange…Load, Click, TextChange, SelectedItemChange… Posibilidad de procesamiento:Posibilidad de procesamiento:

En servidorEn servidor En clienteEn cliente Encolados hasta siguiente postbackEncolados hasta siguiente postback

El cliente realiza una petición, el mensaje es recibido en el El cliente realiza una petición, el mensaje es recibido en el servidor, donde es analizado y atendido por el manejador de servidor, donde es analizado y atendido por el manejador de eventos que corresponda. Se arma la respuesta y el cliente eventos que corresponda. Se arma la respuesta y el cliente obtiene la información que ha solicitado (ya sea una nueva obtiene la información que ha solicitado (ya sea una nueva página, un mensaje, etc.)página, un mensaje, etc.)

Page 27: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

ServerServerCliente WebCliente Web

Analiza el mensajeAnaliza el mensajeAnaliza el mensajeAnaliza el mensajeclickclick

manejadormanejador

mensajemensajemensajemensaje

respuestarespuestarespuestarespuesta

Llama al Llama al manejador manejador apropiadoapropiado

Modelo de Eventos Web FormModelo de Eventos Web Form

Eventos de un webformEventos de un webform

Page 28: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Los eventos asociados con controles ASP.NET son generados Los eventos asociados con controles ASP.NET son generados en el cliente y atendidos en el servidor. Por este motivo, en el cliente y atendidos en el servidor. Por este motivo, ASP.NET necesita que la información para atender el evento ASP.NET necesita que la información para atender el evento del cliente sea transferida al servidor por medio de una del cliente sea transferida al servidor por medio de una petición HTTP Post. petición HTTP Post.

Para mantener el estado de los controles, se utiliza el View Para mantener el estado de los controles, se utiliza el View State. El estado de los controles se almacena en un campo State. El estado de los controles se almacena en un campo oculto de la página que viaja en cada postback; si no se tiene oculto de la página que viaja en cada postback; si no se tiene control de su tamaño puede dificultar la navegación del sitio control de su tamaño puede dificultar la navegación del sitio haciéndolo más lento. Para ello verifique el estado de la haciéndolo más lento. Para ello verifique el estado de la propiedad EnableViewState de todos los controles y utilice propiedad EnableViewState de todos los controles y utilice este mecanismo cuando sea necesario.este mecanismo cuando sea necesario.

un evento que se produce en el formulario web cuando es un evento que se produce en el formulario web cuando es mostrado en el explorador cliente, genera un POST hacia el mostrado en el explorador cliente, genera un POST hacia el servidor y una respuesta. Este ida y vuelta dentro de un servidor y una respuesta. Este ida y vuelta dentro de un mismo formulario web se llama mismo formulario web se llama postbackpostback..

Eventos de un webformEventos de un webform

Page 29: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Cada vez que se pide una página se construye la página junto Cada vez que se pide una página se construye la página junto con todos sus controles y se destruye después de que se envié con todos sus controles y se destruye después de que se envié al navegador para aumentar la capacidad del servidor.al navegador para aumentar la capacidad del servidor.

Los controles de servidor mantienen sus propiedades Los controles de servidor mantienen sus propiedades mediante dos mecanismosmediante dos mecanismos Procesamiento automático de variables del postProcesamiento automático de variables del post Viewstate: variable de formulario ocultaViewstate: variable de formulario oculta

Soluciona el problema de que se limpien los controles cuando Soluciona el problema de que se limpien los controles cuando viaja entre el servidor y el cliente.viaja entre el servidor y el cliente.

Cada petición se actualiza el controlCada petición se actualiza el control

Estado de un webformEstado de un webform

Page 30: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Los controles de servidor de ASP.NET heredan de Control una Los controles de servidor de ASP.NET heredan de Control una propiedad denominada ViewState que les permite participar propiedad denominada ViewState que les permite participar fácilmente en el mantenimiento del estado. El ViewState es un fácilmente en el mantenimiento del estado. El ViewState es un diccionario en el que se almacenan pares de nombre y valor. diccionario en el que se almacenan pares de nombre y valor. El área de trabajo de la página ASP.NET conserva ViewState El área de trabajo de la página ASP.NET conserva ViewState en una variable de cadena que se envía al cliente y se recibe en una variable de cadena que se envía al cliente y se recibe de vuelta de él como variable oculta. Cuando se produce la de vuelta de él como variable oculta. Cuando se produce la devolución, el área de trabajo de la página analiza la cadena devolución, el área de trabajo de la página analiza la cadena de entrada de la variable oculta y establece la propiedad de entrada de la variable oculta y establece la propiedad ViewState de cada control. Si en lugar de un campo privado un ViewState de cada control. Si en lugar de un campo privado un control utiliza ViewState para datos de propiedad, la control utiliza ViewState para datos de propiedad, la propiedad se conservará automáticamente entre los trayectos propiedad se conservará automáticamente entre los trayectos de ida y vuelta hacia el cliente. Si una propiedad no se de ida y vuelta hacia el cliente. Si una propiedad no se conserva en ViewState, es recomendable especificar su valor conserva en ViewState, es recomendable especificar su valor predeterminado en la devolución.predeterminado en la devolución.

Que es el View StateQue es el View State

Page 31: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Solución de problemas de Solución de problemas de rendimiento en View Staterendimiento en View State

Los programadores de controles deben tener en cuenta que Los programadores de controles deben tener en cuenta que todos los datos contenidos en ViewState recorren todos los datos contenidos en ViewState recorren automáticamente un trayecto de ida y vuelta hasta el cliente. automáticamente un trayecto de ida y vuelta hasta el cliente. Estos trayectos suponen una carga adicional para el rendimiento, Estos trayectos suponen una carga adicional para el rendimiento, por lo que es importante hacer un uso razonable de ViewState. por lo que es importante hacer un uso razonable de ViewState. Enviar gran cantidad de datos a través de Internet puede generar Enviar gran cantidad de datos a través de Internet puede generar grandes problemas en los tiempos y en el ancho de banda. Para grandes problemas en los tiempos y en el ancho de banda. Para solucionar estos problemas tenemos algunas opciones:solucionar estos problemas tenemos algunas opciones: Deshabilitar el View State de los controles Web que sean necesarios Deshabilitar el View State de los controles Web que sean necesarios

configurando la propiedad EnableViewState en falso.configurando la propiedad EnableViewState en falso. Deshabilitar el View State para la pagina entera configurando la Deshabilitar el View State para la pagina entera configurando la

propiedad EnableViewState a falso en al directiva @Page.propiedad EnableViewState a falso en al directiva @Page. Guardar el View State en el servidor en lugar de ocultarlo en campo de Guardar el View State en el servidor en lugar de ocultarlo en campo de

formularios.formularios.

Page 32: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Páginas MaestrasPáginas Maestras DefiniciónDefinición

Página Maestra Página Maestra estructura heredable estructura heredable Página Contenido Página Contenido personalizas cada página personalizas cada página

BeneficiosBeneficios Sitio web con entorno consistenteSitio web con entorno consistente Ahorro de tiempo de programaciónAhorro de tiempo de programación Podemos tener varias páginas maestras en un proyectoPodemos tener varias páginas maestras en un proyecto

Añadir una página MaestraAñadir una página Maestra Añadir desde Explorador de Soluciones un nuevo archivo index.MasterAñadir desde Explorador de Soluciones un nuevo archivo index.Master

Añadir una página de ContenidoAñadir una página de Contenido Añadir desde el explorador de soluciones un nuevo archivo del tipo Añadir desde el explorador de soluciones un nuevo archivo del tipo

WebForm activando la casilla Seleccionar página maestraWebForm activando la casilla Seleccionar página maestra

Programación ASP.NETProgramación ASP.NET3232

Page 33: DESARROLLO WEB CON ASP - Prof Matias Garciaprofmatiasgarcia.com.ar/uploads/tutoriales/5Desarrollo_web_con_ASP.… · Una aplicación web es un programa que genera archivos en HTML

Webgrafía & Licencia:Webgrafía & Licencia: Textos tomados, corregidos y modificados de diferentes páginas Textos tomados, corregidos y modificados de diferentes páginas

de Internet, tutoriales y documentos.de Internet, tutoriales y documentos. Este documento se encuentra bajo Licencia Creative Commons Este documento se encuentra bajo Licencia Creative Commons

2.5 Argentina (BY-NC-SA), por la cual se permite su exhibición, 2.5 Argentina (BY-NC-SA), por la cual se permite su exhibición, distribución, copia y posibilita hacer obras derivadas a partir de distribución, copia y posibilita hacer obras derivadas a partir de la misma, siempre y cuando se cite la autoría del la misma, siempre y cuando se cite la autoría del Prof. Matías E. Prof. Matías E. García García y sólo podrá distribuir la obra derivada resultante bajo y sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta. una licencia idéntica a ésta.

Autor:Autor:

Matías E. GarcíaMatías E. García..

Prof. & Tec. en Inform tica Aplicadaática AplicadaProf. & Tec. en Inform tica Aplicadaática Aplicadawww.profmatiasgarcia.com.arwww.profmatiasgarcia.com.arinfo@[email protected]