I controlli in ASP.NET 2.0

di Riccardo Golia, in DotNet 2.0,

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!!! :)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese