Sie sind auf Seite 1von 37

PROYECTO BECAS CONTROL + F FASE V -

Curso Microsoft .NET Intermedio

Mdulo I INTRODUCCION A APLICACIONES WEB

Introduccin a Aplicaciones Web

Qu es ASP.NET? ASP.NET es un modelo de desarrollo Web unificado que incluye los servicios necesarios para crear aplicaciones Web empresariales con el cdigo mnimo. ASP.NET forma parte de .NET Framework y al codificar las aplicaciones ASP.NET tiene acceso a las clases en .NET Framework . El cdigo de las aplicaciones puede escribirse en cualquier lenguaje compatible con el Common Language Runtime (CLR), entre ellos Microsoft Visual Basic y C#. Estos lenguajes permiten desarrollar aplicaciones ASP.NET que se benefician del Common Language Runtime, seguridad de tipos, herencia, etc.

Introduccin .NET Tipos de Aplicaciones Proyectos de Aplicacin Web Proyectos de Sitio Web.

Proyecto de Aplicacin Web Los proyectos de aplicacin web usan los archivos de proyecto de Visual Studio (.csproj o .vbproj) para realizar un seguimiento de la informacin sobre el proyecto. El cdigo fuente se compila explcitamente en el equipo que se usa para el desarrollo o el control de cdigo fuente. De forma predeterminada, la compilacin de los archivos de cdigo (a excepcin de los archivos .aspx y .ascx) genera un ensamblado nico. Para la implementacin se puede copiar el ensamblado generado durante la compilacin en un servidor. Es similar a los proyectos que existan en la versin 2003.

Proyectos de Aplicacin Web

Proyectos de Sitio Web


No hay ningn archivo de proyecto (.csproj o .vbproj). Todos los archivos de una estructura de carpetas se incluyen automticamente en el sitio. Permite compilar el cdigo fuente de forma dinmica (automticamente) en el servidor la primera vez que se recibe una solicitud, o sea permite instalar los fuentes en el servidor y generar la compilacin dinmicamente. Tambin se puede precompilar el sitio y generar los ensamblados. De forma predeterminada, la compilacin genera mltiples ensamblados. Con respecto a la implementacin Visual Studio proporciona herramientas para la implementacin, pero estas no automatizan tantas tareas de implementacin como las herramientas disponibles para los proyectos de aplicacin web.

Proyectos de Sitio Web

Carpetas de Aplicacin App_Browsers: Contiene definiciones del explorador (archivos .browser) App_Code: Contiene cdigo fuente para clases de utilidad App_Data: Contiene los archivos de datos de aplicacin App_GlobalResources: Contiene recursos globales App_LocalResources: Contiene recursos asociados con una pgina especfica App_Themes: Contiene una coleccin de archivos que definen el aspecto de las pginas Web. App_WebReferences: Contiene archivos de contrato de referencia Bin: Contiene ensamblados compilados (archivos .dll)

Archivos .asax: Normalmente, un archivo Global.asax. .ascx: Archivo de control de usuario Web .asmx: Archivo de servicios Web XML .aspx: Archivo (pgina) de formularios Web Forms de ASP.NET .config: Archivo de configuracin (normalmente Web.config) .cs, .vb: Archivo de cdigo fuente de clase que se compila en tiempo de ejecucin. .master: Pgina principal que define el diseo de otras pginas Web de la aplicacin. .resources, .resx: Un archivo de recursos

Compilacin Dinmica Para que la aplicacin Web atienda las solicitudes, ASP.NET debe analizar y compilar primero el cdigo de la aplicacin Web en uno o varios ensamblados. Cuando se compila el cdigo, se traduce en una representacin independiente del lenguaje y de la CPU llamado Lenguaje intermedio de Microsoft (MSIL). En tiempo de ejecucin, MSIL se ejecuta en el contexto de .NET Framework, que traduce MSIL en instrucciones especficas de la CPU para el procesador en el equipo que ejecuta la aplicacin (el CLR convierte el MSIL a cdigo nativo usando lo que se llama compilacin JIT).

Compilacin Dinmica y Ejecucin

Espacio de Nombres (Namespace) Los espacios de nombres organizan jerrquicamente los objetos definidos en un ensamblado. Un ensamblado puede contener varios espacios de nombres Los espacios de nombres evitan las ambigedades y simplifican las referencias cuando se utilizan grupos grandes de objetos Los nombres completos son referencias de objetos que llevan como prefijo el nombre del espacio de nombres en el que est definido el objeto. Puede utilizar la instruccin using para definir un nombre abreviado que sustituya al nombre completo.

Espacio de Nombres (Namespace) namespace EspacioEjemplo { namespace EspacioEjemplo2 { public partial class ClaseEjemplo { } } } using EspacioEjemplo.EspacioEjemplo2;

Formularios Web

Formularios Web
Permiten crear pginas Web. Se pueden usar controles de servidor ASP.NET para crear elementos comunes de la interfaz de usuario y programarlos para que realicen tareas Una pgina Web ASP.NET se compone de dos partes: Elementos visuales, incluidos el formato, los controles de servidor y el texto esttico. Lgica de programacin para la pgina, que incluye controladores de eventos y otro tipo de cdigo. ASP.NET proporciona dos modelos para administrar el cdigo y los elementos visuales: El modelo de pgina de un solo archivo El modelo de pgina de cdigo subyacente.

Formularios Web

Modelo de Pgina de Cdigo Subyacente Este modelo permite mantener el formato en un archivo (el archivo .aspx) y el cdigo de programacin en otro. El nombre del archivo de cdigo vara segn el lenguaje de programacin que se est utilizando. (.cs, .vb) El archivo de cdigo subyacente contiene las declaraciones de clase completas en el espacio de nombres predeterminado. Cuando se ejecuta la pgina, el compilador lee la pgina .aspx y el archivo al que hace referencia en la directiva @ Page, los ensambla en una sola clase y, a continuacin, los compila como una unidad en una sola clase.

Modelo de Pgina de Cdigo Subyacente Ventajas: Las pginas de cdigo subyacente ofrecen una separacin ntida entre el formato (la interfaz de usuario) y el cdigo. Resulta prctico que el diseador trabaje en el formato mientras el programador escribe el cdigo. El cdigo no se expone a los diseadores de las pginas o a las dems personas que slo estn trabajando con el formato de la pgina. El cdigo se puede reutilizar para varias pginas.

Directiva @Page Define los atributos especficos de pgina (archivo .aspx) que utilizan el analizador y el compilador de pginas de ASP.NET. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

Si desea definir varios atributos para la directiva @ Page, separe cada par de atributo y valor con un solo espacio. Para un atributo especfico, no incluya un espacio a ambos lados del signo de igualdad (=) que conecta el atributo con su valor. Se puede incluir slo una directiva @ Page por cada archivo .aspx

Controles de Servidor
Son objetos de pginas web ASP.NET que se ejecutan cuando se solicita la pgina y que representan marcado en un explorador. Muchos controles de servidor web son similares a elementos HTML conocidos, como botones y cuadros de texto. Otros controles abarcan comportamiento complejo, por ejemplo controles de calendario Los controles utilizan una sintaxis como la que se muestra a continuacin: <asp:Button ID="Button1" runat="server" Text="Button" /> Se representan en la pgina utilizando el marcado apropiado. La clusula runat=server indica que el control es un control de servidor. Los elemento HTML pueden convertirse en controles de servidor HTML agregando el atributo runat="server" <input id="Text1" type="text" runat="server" />

Controles de Servidor
Los controles de servidor Web ofrecen todas las funciones de los controles HTML y estas funciones adicionales: Un modelo de objetos enriquecido Deteccin automtica del explorador. Representar el marcado adecuado. Para algunos controles, la capacidad para definir su propio diseo para el control utilizando Templates. Para algunos controles, la capacidad de especificar si un evento del control provoca un envo inmediato al servidor o, en su lugar, se almacena en cach y se activa cuando se enva la pgina. Compatibilidad para temas Capacidad para pasar eventos de un control anidado (como un botn en una tabla) al control contenedor.

Tipos de Controles de Servidor Controles Intrnsecos: Se corresponden con elementos HTML simples Controles de Validacin: Controles ocultos que permiten validar las entradas de los usuarios teniendo en cuenta patrones predeterminados Controles Ricos: Proveen una funcionalidad importante insertando funciones complejas Controles con Enlace a Datos: Permiten mostrar datos de fuentes de datos

Controles de Servidor Label Botones (Button, LinkButton, ImageButton) TextBox DropDownList ListBox RadioButton/RadioButtonLi st CheckBox / CheckBoxList HyperLink Image ImageMap Calendar FileUpLoad PlaceHolder AdRotator

Controles de Servidor (cont.)

ViewState o Estado de Vista Una aplicacin Web no tiene estado. Permite conservar los valores de pgina y control entre viajes de ida y vuelta. Se serializan en cadenas codificadas en base64. Utiliza campos ocultos.
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE value="/wEPDwUKMTQ2OTkzNDMyMWRkqkemRVXuWimVdVDG7O 8z3nQVOfE=" />

Consideraciones de ViewState Se serializa en XML y luego se codifican en base64, lo cual puede generar grandes cantidades de datos. Si el estado de vista contiene una gran cantidad de informacin, puede afectar al rendimiento de la pgina. Si no tiene que almacenar informacin de control de algn control individual, puede deshabilitar el estado de vista para un control. Si la cantidad de datos de un campo oculto llega a ser muy grande, algunos servidores proxy y algunos firewalls impedirn el acceso a la pgina que los contiene. Debido a que la cantidad mxima permitida puede variar con distintas implementaciones de firewall y proxy, los campos ocultos de gran tamao pueden causar problemas intermitentes

ControlState o Estado de Control Adems del estado de vista, ASP.NET es compatible con el estado de control. La pgina utiliza el estado de control para mantener informacin del control que debe conservarse entre devoluciones de datos, independientemente de que el estado de vista est deshabilitado para la pgina o para un control. Al igual que el estado de vista, el estado de control se almacena en uno o ms campos ocultos.

Creacin de Formularios
Botn derecho del mouse sobre el nombre del proyecto en el Explorador de Soluciones, Add New Item. Luego seleccione Web Form. En la parte inferior del Diseador de Web Forms existen tres fichas: La vista Design le proporciona una vista WYSIWYG donde puede arrastrar controles y utilizar la ventana Propiedades para configurarlos. La vista Source muestra el cdigo XHTML o HTML. Split permite ver ambas al mismo tiempo

Trabajar con Componentes


Los componentes generan sus propios archivos lo cual generan que puedan ser reusados por varias aplicaciones. Se pueden crear aplicaciones de tipo Class Library (Biblioteca de Clases) para crear este tipo de componente.

Master Pages

Master Pages o Pginas Principales


Permiten crear un diseo de pgina (una pgina principal) que se puede utilizar en ciertas pginas o en todas (pginas de contenido) en un sitio Web. Pueden simplificar la tarea de crear un aspecto coherente para el sitio. Puede definir el aspecto, el diseo y el comportamiento estndar que desea que tengan todas las pginas (o un grupo de pginas) de la aplicacin en una sola pgina principal. A continuacin, puede crear pginas de contenido individuales que incluyan el contenido que desea mostrar. Cuando los usuarios solicitan las pginas de contenido, stas se combinan con la pgina principal para dar como resultado una pgina con el diseo de la pgina principal y el contenido de la pgina de contenido.

Master Pages o Pginas Principales (cont.) Es un archivo con la extensin .master que tiene un diseo predefinido que puede incluir texto esttico, elementos HTML y controles de servidor. La pgina principal se identifica mediante una directiva @ Master (similar a @Page) Tambin incluye uno o varios controles ContentPlaceHolder. Estos controles definen las regiones que incluirn contenido reemplazable. El contenido reemplazable se define en las pginas de contenido.
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

Pginas de Contenido
Son pginas ASP.NET (archivos .aspx) que estn enlazadas a una pgina principal concreta. El enlace se establece en la directiva @Page de la pgina de contenido al incluir un atributo MasterPageFile. En la pgina de contenido, cree el contenido agregando los controles y asignndolos a los controles ContentPlaceHolder de la pgina principal. En una pgina de contenido, todo lo que no est dentro de los controles ContentPlaceHolder (excepto los bloques de secuencias de comandos del cdigo del servidor) producir un error. En una pgina de contenido puede realizar las mismas tareas que en una pgina de ASP.NET. <%@ Page Language="C#" MasterPageFile="~/MasterPages/Master1.master" Title="Content Page"%>

Ventajas de las Pginas Principales

Permiten centralizar las funciones comunes de las pginas para que las actualizaciones puedan llevarse a cabo en un solo lugar. Facilitan la creacin de un conjunto de controles y cdigo, y aplican los resultados en un conjunto de pginas. Por ejemplo, puede utilizar los controles en la pgina principal para crear un men que se aplique a todas las pginas. Proporcionan un control ms preciso sobre el diseo de la pgina final al permitir controlar el modo en que se representan los controles PlaceHolder. Proporcionan un modelo de objetos que permite personalizar la pgina principal a partir de pginas de contenido individuales.

Comportamiento en Tiempo de Ejecucin

Creacin