ASP.net Para Novatos

Embed Size (px)

Citation preview

  • ASP.NET para novatosUna breve introduccin a desarrollo Web con ASP.NET

    Carlos A. [email protected] www.dotnetero.com

  • TemarioQu es ASP.NET y cmo encaja dentro de .NET?Cmo se compara con otras tecnologas de desarrollo web? (ASP, PHP, etc.)Conceptos fundamentalesAlgunos controles bsicos y sus propiedadesVistazo rpido a Databinding

  • Aplicaciones Web ASP.NETUna aplicacin web es un conjunto de pginas HTML que se transmiten por medio del protocolo HTTP de un servidor al cliente.

    ASP.NET es un armazn (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.

  • http://www.cursoaspnet.com/inicio.htmlIP=66.45.26.25 Puerto: 80Internet DNSClientewww.cursoaspnet.comIP = 66.45.26.25inicio.html

    Bienvenidos al Curso ASP.NET

    ServidorHTTP RequestHTTP ResponseHyper Text Transfer Protocol

  • ASP.NET

  • Procesamiento de peticiones ASP.NETEl cliente hace una peticin HTTP de una pgina ASPXSe ejecuta el cdigo del lado del servidor y renderea la respuestaEl servidor regresa la respuesta (HTML + JavaScript)

  • ASP.NET - VentajasLa parte ejecutable de una aplicacin ASP.NET es COMPILADAEjecucin ms rpida y puedes utilizar un depuradorSeparacin del cdigo (comportamiento) y el markup (presentacin)Implementacin y actualizacin de las aplicaciones sin reiniciar el servidorAcceso a toda la librera de clases de .NETIndependiente del lenguaje de programacin

  • ASP.NET Ventajas (Cont.)Encapsulamiento de funcionalidad a travs de controles de servidor y controles de usuarioProvee muchos controles out of the boxPermite usar ADO.NET para acceso a datosSoporta XML, Hojas de estilo CSS, etc.Deteccin automtica del navegador cliente, generando el lenguaje de marcas soportado por el mismoMecanismo de Caching incorporado para pginas completa o partes de la misma frecuentemente solicitadas

  • Componentes de una aplicacin ASP.NETWebForms (Formularios Web) Uno o ms archivos con extensin .aspxEs una pgina expresada en lenguaje de marcas (markup) que es compilada y ejecutada dinmicamente en el servidor para generar la salida solicitada por el cliente (explorador dispositivo).Archivos Code-Behind/Code-BesideArchivos asociados a WebForms que contienen cdigo del lado del servidor (Ej. VB.NET, C#, etc.)Es el cdigo que se ejecuta del lado del servidor para lograr el comportamiento deseado en un formulario web.Archivos de configuracin con formato XMLUn archivo Web.config por c/aplicacinUn nico archivo Machine.config por servidorGlobal.asaxEventos a nivel de aplicacin

  • Componentes de una aplicacin ASP.NETDirectorio BINContiene el assembly de la aplicacin (Ej.: MiAplic.dll)Cero o ms assemblies (Componentes externos)Enlaces a Servicios Web XMLPermiten a la aplicacin ASP.NET enviar y recibir datos desde Servicios Web

  • Componentes de una aplicacin ASP.NETClienteInternetWebForm1.aspx.vbWebForm1.aspxWebForm2.aspx.csWebForm2.aspxGlobal.asaxWeb.configOutput CacheBINDatabaseASP.NET Web Server

  • Tipos de proyectos ASP.NET para sitios WebASP.NET Web SitesTodo se maneja a travs de directorios especiales (bin, App_Code, App_Resources, App_Data, etc.)No necesitan un archivo .csproj o .vbproj lo cual es til cuando varios desarrolladores deben agregar o quitar archivos del proyectoProvee compilacin dinmica con solo agregar archivos a esos directorios especialesASP.NET Web ApplicationsSon los que se utilizaban en versiones anteriores de Visual Studio y ASP.NETSiguen siendo muy usados

  • Web Application projects

  • Controles de ServidorComponentes que se ejecutan en el lado del servidorEncapsulan partes de la interface de usuariosPoseen el atributo runat=serverMantienen su estado entre postbacks al servidor ViewStatePoseen un modelo de objetos comn Ej.: todos tienen las propiedades Id y TextGeneran HTML especifico segn el browser cliente

  • Controles de servidorControles de servidor HTMLControles de servidor WebPor default, los elementos HTML no son accesibles desde cdigo del lado del servidorAgregando runat=server y el atributo id, se convierten en Controles de Servidor HTML

    Conocidos como WebControlsSolo accesibles del lado del servidorMuchos tiposIntrnsecosValidacinRicosDel tipo lista de datosNo tienen una relacin 1:1 con elem. HTML

  • Equivalencias de ControlesBotn HTML clsico (No es de Servidor)

    Control de Servidor HTML

    Control de Servidor Web

  • Controles de Servidor - Ejemplos

  • Eventos ms importantes en el ciclo de vida de una pgina

    InitOcurre cuando el control es inicializado. Es el primer paso en el ciclo de vida.LoadEste es el primer evento que se dispara despus de que el rbol de controles y el ViewState de la pgina han sido creados y restaurados. Normalmente utilizas este evento para poner cdigo de inicializacin, poniendo una condicin para que no se ejecute en un postback. La lgica de postback se pone normalmente en un manejador de eventos para el control especfico.PreRenderEste evento ocurre justo antes de que la pgina haga un recorrido recursivo de su rbol de controles y mande llamar el mtodo Render para armar el HTML de la respuesta.UnloadEste evento se dispara despues de que el stream de salida ha sido enviado de vuelta a IIS. No puedes modificar el output desde este evento, lo nico que puedes hacer es limpiar cualquier recurso que hayas retenido durante la vida de la pgina.

  • DemoHola Mundo en diferentes lenguajes

  • Controles de enlace de datosPermiten realizar el enlace entre un control que muestra datos (GridView, DetailsView, etc) y la lgica que los administraControl ObjectDataSourceEnlaza los controles con una clase de la capa de negocios.Control SqlDataSourceEnlaza los controles con una base de datos relacional. Control XmlDataSourceEnlaza los controles con datos en formato xml.

  • DemoUsando un GridView

  • An hay mucho msEsta presentacin solo cubri lo ms bsico, ASP.NET trae muchsima ms funcionalidad que es til en el desarrollo de aplicaciones web:Master pagesThemes y personalizacinSeguridadNavegacinetctera

    *HTTP define como los navegadores y los servidores Web se comunican uno con otro.En una aplicacin web, el componente principal es el HTML Form, que es el elemento de html que contiene los controles de la interfaz de usuario de cada pgina y captura la entrada de datos del usuario. El HTML Form es la porcin de la pgina que es enviada a travs del protocolo HTTP al servidor para procesar el pedido realizado por el usuario. Hay dos modos de envo de formularios al servidor: Get y Post. El primero enva los datos ingresados en el formulario como una cadena de consulta, el segundo enva los datos en el cuerpo del pedido.Para mas informacin, consulte el material de referencia al final del curso.**********El control SQLDataSource permite trabajar con cualquiera de las bases de datos relacionales basadas en lenguaje SQL, tales como Microsoft SQL Server u Oracle.

    El ObjectDataSource permite enlazar contra clases de la capa de negocios y se declara de la siguiente forma: En el TypeName se indica el nombre de la clase contra la cual se realiza el enlace, luego con las propiedades SelectMethod, UpdateMethod, DeleteMethod e InsertMethod se indica que mtodo de la clase se utilizar para realizar las tareas de seleccin, modificacin, eliminacin e insercin de datos respectivamente.Para mas informacin sobre este interesante tema se recomienda realizar los ejercicios propuestos y leer el material propuesto.