web forms en asp.net 2.0 el próximo paso. mauricio grimberg consultor en desarrollos microsoft...

Post on 16-Feb-2015

3 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Web Forms en ASP .Net 2.0Web Forms en ASP .Net 2.0

El próximo paso

Mauricio GrimbergMauricio Grimberg

Consultor en desarrollos Microsoft– .Net– Office– DNA– XML

Microsoft MVP en XML Vicepresidente Grupo de Usuarios

Microsoft Director Regional Ineta Latinoamérica

Estrategias en Asp .Net 2.0Estrategias en Asp .Net 2.0

Productividad en el desarrollo Mejorar las interfaces destinadas a los

administradores Obtener el más rápido servicio de

aplicaciones Web en todo el mercado Interfaces independientes del dispositivo

receptor Compatibilidad hacia atrás

Productividad en el desarrolloProductividad en el desarrollo

Reducción de código Nuevas “Plantillas de proyecto” Migración automática Mejoras en la operación de VS 2005 Mayor integración en las aplicaciones– Roles, personalización, navegación

Mejorar interfaces de administraciónMejorar interfaces de administración

Foco en la administración y manejo de las aplicaciones

Posibilidad de creación de herramientas de administración

Seguridad y encriptación de los archivos de configuración

El + rápido servicio de aplicacionesEl + rápido servicio de aplicaciones

Mejoras de la sincronización entre el cache y las necesidades de actualización

Soporte de 64 bits (combinable con la compatibilidad)

Independencia de dispositivoIndependencia de dispositivo

<mobile:> y <asp:> implica 2 aplicaciones distintas

Es necesario construir un solo portal, mantener un solo portal.

Siempre es posible mejorarSiempre es posible mejorar

¿Cuánto puede producirse con los recursos disponibles en el tiempo disponible?

¿Qué tan fácil es la administración y el mantenimiento de lo producido?

ASP .Net 1.x fue un hito pero … prepárense para ASP 2.0

Master PagesMaster Pages

Herencia visual en páginas Web Consistencia en el manejo de áreas

comunes de un sitio Supera ampliamente a toda otra manera

de resolver el problema– Copiar & Pegar– Includes– Herencia + User Controls

Master PagesMaster Pages

Se basan en el modelo de Template– Template Pages (Master)– Content Pages

Incluir– Encabezados– Navegaciones– Pies

<%@ Master Language=”VB” ...<%@ Master Language=”VB” ...

Un sólo atributo: LanguageSe trata y se codifica de allí en

adelante como cualquier otra página<asp:ContentPlaceHolder ID=“cphContenido"

Runat="server"> Algún contenido por defecto </asp:ContentPlaceHolder>

Content PagesContent Pages

Elijo una Master Page– Al crear la página o luego

Son páginas de contenido y NO repiten los Tags de estructura de la Master– Por ejemplo Head, Form

Dentro de elementos <asp:Content … <asp:Content> mapea a un específico

<asp:ContentPlaceHolder>

Content PagesContent Pages

<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" %>

<asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2"

Runat="server"> Aquí mi página "hija"</asp:Content>

Master & ContentMaster & Content

Son independientes–Modelo de codificación– Lenguaje

Las vincula ASP .Net al generar la salida

Web.ConfigWeb.Config

Puedo configurar que todas las páginas hereden visualmente de una Master

Puedo sobreescribir la configuración en cualquier página

<configuration> <system.web> <pages masterPageFile=”~/MG.master” /> </system.web></configuration>

Codificando Master PagesCodificando Master Pages El Objeto Master<%@ Page Language=”C#” MasterPageFile=”~/MG.master”

%><script runat=”server”>void Page_LoadComplete(object sender, EventArgs e){Master.Page.Title = “Este título lo escribimos desde la página

de contenido codificando el objeto Master”;}</script>

Anidando Master PagesAnidando Master Pages

Una página de contenido puede ser utilizada como Master si otra página se refiere a ella como tal

<%@ Master MasterPageFile=”~/MGMain.master” %>

¡Master Page según el navegador!¡Master Page según el navegador!

avantgo . cassio . default . docomo . ericsson . gateway . generic . goAmerica . ie . jphone . MME . mozilla . netscape . nokia . openwave . opera . palm . panasonic . pie . webtv . Xiino

<%@ Page Language=”VB” MasterPageFile=”~/MG.master”

Mozilla:MasterPageFile=”~/MGMozilla.master”Opera:MasterPageFile=”~/MGOpera.master” %>

ThemesThemes

Aplicación masiva de formatos (a través de Skins)– Application– Page– Server control

Un Theme es un “paquete” de skins (que puede tener asociados imágenes y CSS)

Ejemplo de uso de ThemesEjemplo de uso de Themes A nivel máximo (machine.config) :

<pages buffer=”true” enableSessionState=”true” ..... theme=”SmokeAndGlass” >...</pages>

A nivel de sitio (Web.config):<?xml version=”1.0” encoding=”UTF-8” ?><configuration><system.web><pages theme=”SmokeAndGlass” /></system.web></configuration>

A nivel de página:<%@ Page Language=”VB” Theme=”SmokeAndGlass” %>

Deshabilitar ThemesDeshabilitar Themes

La directiva EnableTheming permite manejar el bloqueo parcial de temas y puede ser utilizada como un atributo en un control

<%@ Page Language=”VB” EnableTheming=”False” %> <asp:Textbox ID=”TextBox1” Runat=”server”

BackColor=”#000000” ForeColor=”#ffffff” EnableTheming=”false” />

SkinsSkins Definiciones que se aplican al formato de Server Controls y

se guardan en archivos de extensión .skin<asp:Label Runat=”server” ForeColor=”#004000” Font-

Names=”Verdana”Font-Size=”X-Small” /><asp:Textbox Runat=”server” ForeColor=”#004000” Font-

Names=”Verdana”Font-Size=”X-Small” BorderStyle=”Solid” BorderWidth=”1px”BorderColor=”#004000” Font-Bold=”True” /><asp:Button Runat=”server” ForeColor=”#004000” Font-

Names=”Verdana”Font-Size=”X-Small” BorderStyle=”Solid” BorderWidth=”1px”BorderColor=”#004000” Font-Bold=”True” BackColor=”#FFE0C0” />

Creación de Temas propiosCreación de Temas propios

Crear una carpeta Themes Crear una carpeta con el nombre del tema Incluir– Archivos .skin– CSS– Imágenes

Imágenes en los TemasImágenes en los Temas

Carpeta Images dentro del folder del tema

Asignar las imágenes en los skins

Web PartsWeb Parts

Satisfacen la necesidad de personalizar la información según el usuario

Éste puede modificar las páginas y almacenar la personalización

Las Web Parts son objetos del .Net Framework que el usuario puede abrir, cerrar, maximizar, editar o mover de una parte a otra.

MSN: zonas en el Portal FrameworkMSN: zonas en el Portal Framework

ModosModos

Normal– Ni editar ni mover

Edit– Título, color o propiedades

Design– Desplazar o quitar

Catalog– Lista y permite incluir y organizar

ZonasZonas

El Portal Framework define todo en función de Zonas

El WebPartManager es quien maneja las zonas y la comunicación de elementos entre las zonas (es un objeto en la página sin interfaz visual)

Las zonas son WebPartZones

Nuevos eventosNuevos eventos

PreInitInitCompletePreLoad LoadCompletePreRenderComplete

PreInitPreInit

Pensado para manejar los detalles de Temas y Personalización

VBSub Page_PreInit(ByVal sender As Object, ByVal e As

System.EventArgs)Page.Theme = Request.QueryString(“TemaRequerido”)End Sub

C#void Page_PreInit(object sender, System.EventArgs e){Page.Theme = Request.QueryString[“TemaRequerido”];}

InitCompleteInitComplete

Se dispara una vez completada la inicialización

Posterior a la lectura de cambios en Viewstate (Control.TrackViewState )

Previo a la carga de estado de los controles (Load State)

PreLoadPreLoad

Previo a la carga de la páginaInmediatamente anterior a la

carga de controles

LoadCompleteLoadComplete

Ocurre cuando la página ha dejado de controlar información de postback

A continuación de la carga de página (Load)

PreRenderCompletePreRenderComplete

VBSub Page_PreInit(ByVal sender As Object, ByVal e As

System.EventArgs)Page.Theme = Request.QueryString(“TemaRequerido”)End Sub

C#void Page_PreInit(object sender, System.EventArgs e){Page.Theme =

Request.QueryString[“TemaRequerido”];}

Preguntas y respuestasPreguntas y respuestas

top related