Stavo guardando le differenze tra la versione attuale e la versione 2.0 del Framework per quanto riguarda i controlli Web e ho notato un po' di cose interessanti. Tutti sappiamo che la superclasse dei controlli è Control da cui derivano la classe TemplateControl (classe base di Page e UserControl), i WebControls e gli HtmlControls. Sono rimasto impressionato dalla quantità di nuovi controlli; ecco un elenco dei più significativi:
1. i controlli relativi ai dati (la DataGrid non c'è più - c'è la GridView e poi altri controlli più o meno noti);
2. i WebControls (sono una marea, c'è anche la TreeView);
3. WebControls.Content e WebControls.ContentPlaceHolder (servono per rendere modulari le pagine);
4. controlli Validators (i soliti);
5. controlli Navigation (Menu, SiteMapPath);
6. controlli Login (Login, LoginView, LoginStatus, ecc.);
7. WebPart, direttamente da SharePoint... :) (appartengono anche loro al namespace ASP);
8. i controlli HTML soliti;
9. i controlli Literal.
Sia la classe Control che la classe TemplateControl implementano un bel po' di interfacce nuove (vedi sotto).
Versione 1.1
<font size="2">Public Class Control Implements IComponent, _ IDisposable, _ IParserAccessor, _ IDataBindingsAccessor</font>
<font size="2">MustInherit Public Class TemplateControl Inherits Control Implements INamingContainer</font>
Versione 2.0
<font size="2">Public Class Control Implements IComponent, _ IDisposable, _ IParserAccessor, _ IUrlResolutionService, _ IDataBindingsAccessor, _ IControlBuilderAccessor, _ IControlDesignerAccessor, _ IExpressionsAccessor</font>
<font size="2">MustInherit Public Class TemplateControl Inherits Control Implements INamingContainer, _ IFilterResolutionService, _ IThemeResolutionService</font>
Le classi Page, WebControl e HtmlControl sono rimaste invariate come implementazione e derivazione:
<font size="2">MustInherit Public Class HtmlControl Inherits Control Implements IAttributeAccessor</font>
<font size="2">Public Class WebControl Inherits Control Implements IAttributeAccessor</font>
<font size="2">Public Class Page Inherits TemplateControl Implements IHttpHandler</font>
Un discorso diverso va fatto per la classe UserControl, che tra le altre cose implementa direttamente l'interfaccia INamingContainer (container di denominazione):
Versione 1.1
<font size="2">Public Class UserControl Inherits TemplateControl Implements IAttributeAccessor, _ IUserControlDesignerAccessor</font>
Versione 2.0
<font size="2">Public Class UserControl Inherits TemplateControl Implements IAttributeAccessor, INonBindingContainer, INamingContainer, IUserControlDesignerAccessor</font>
Ecco un po' di immagini della toolbar con i vari controlli disponibili.
C'è davvero da sbizzarrirsi!!! :)
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Immagini animate per l'UpdateProgress, il 4 aprile 2007 alle 15:38
- Disponibile la CTP di SandCastle, il 31 luglio 2006 alle 00:55
- TestDriven.NET e Code Coverage anche per le versioni Express, il 31 gennaio 2006 alle 10:30
- NUnit 2.2.6, il 23 gennaio 2006 alle 17:50
- Collezioni e generics, il 7 novembre 2005 alle 23:45
- Non tutti sanno dell'esistenza di IRepeatInfoUser, il 12 febbraio 2005 alle 00:16