Web Forms en ASP.Net 2.0 El próximo paso. Mauricio Grimberg Consultor en desarrollos Microsoft...
-
Upload
eugenio-cura -
Category
Documents
-
view
3 -
download
1
Transcript of Web Forms en ASP.Net 2.0 El próximo paso. Mauricio Grimberg Consultor en desarrollos Microsoft...
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