Title: Presente y futuro del desarrollo de controles en ASP'NET
1Presente y futuro del desarrollo de controles en
ASP.NET
- Victor Garcia Aprea
- Microsoft MVP ASP.NET
- Clarius Consulting S.A.
C
N
2Recursos
2 http//weblogs.asp.net/vga2 Developing
ASP.NET Server Controls and Components2
Lutz Roeders Reflector 2 http//www.asp.net/f
orums
3Agenda
2 User Controls / Custom controls2 Ciclo de
vida de un control2 Viewstate a fondo2
Rendering vs. Composición2 Controles
compuestos2 Lo que viene en Whidbey
4UserControls
9 Caching gratuito (declarativo)9 Ultra
sencillos (drag drop)0 La cajita fea gris
esa0 No reusables entre apps2 Tienen
una UI es-tá-ti-ca
5Custom Controls
9 Soporte en tiempo de diseño9 Reusables
entre apps0 Caching programático0
Bastante difíciles de programar2 Tienen una
UI dinámica
6Ciclo de vida de un control
Init (desde adentro hacia afuera)TrackViewStateL
oadViewStateProcessPostDataLoadProcessPostData
(2do intento)RaiseChangeEventsRaisePostBackEvent
PreRenderSaveViewStateRenderUnload
7ViewState a fondo
8LosFormatter
2 Optimizado para String, bool, int,
Hashtable, Array, ArrayList, Pair, Triplet 2
NO guardar cualquier tipo2 Conversores de
tipo (TypeConverter)2 Que no le llegue al
BinaryFormatter! 2 http//weblogs.asp.net/vga/
archive/2004/05.aspx
9Renderingvs.Composición
10Rendering vs. Composición
2 Reusar el output de un control2 Reusar
el control2 Más controles, mas viewstate,
etc. 2 Escenarios complejos
11HtmlTextWriter
2 Verbosidad vs. Hardcodeo2 Concatenación
de strings vs. StringBuilder2 Cuando usar
cada uno?0 Solo sabe renderizar HTML0
Es una adaptación hacia abajo
12HtmlTextWriter
9 Nuevo modelo en Whidbey2
MarkupTextWriter es la nueva base2
WmlTextWriter / HtmlTextWriter0 Nuevo
modelo?? Seguro, Víctor?
13Controles Compuestos
14Controles Compuestos
2 INamingContainer2 CreateChildControls
() (aca y nada mas que aca)2
ChildControlsCreated (invalidar hijos) 2
EnsureChildControls () (usar con cuidado)
15Controles Compuestos
2 CreateChildControls() se llama on-demand9
FindControl ()9 OnPreRender () 0
propiedad Controls9 Nueva clase
CompositeControl
16Lo que viene en Whidbey
17Ciclo de vida de un control
PreInitInitInitCompleteLoadStateProcessPostDat
aPreLoadLoadProcessPostData (2do
intento)RaiseChangeEventsRaisePostBackEventLoad
CompletePreRenderPreRenderCompleteSaveStateSav
eStateCompleteRender
18ObjectStateFormatter
2 Mas optimizaciones IndexedString, Color,
HybridDictionary, double, float, Enum, byte2
NO guardar cualquier tipo2 ControlState
ViewState2 http//weblogs.asp.net/vga/archive
/2004/05.aspx
19Nueva Arquitectura de Controles
2 Unificación de ASP.NET v1.0 MMIT2
NO mas duplicar Pages ni Controls 2 Basada
en Adaptadores de Controles
20Adaptador de Control
2 Parece un control no lo es 2 Adapta
rendering, estado, lógica de postback2 Decide
si los eventos del control se disparan 2 La
página es un Control, también se adapta
219 Diciembre 2004
22Muchas gracias por su atención!