Web Controls er noget meget centralt i ASP.NET men i starten kan det være svært at holde styr på begreberne . Billedligt talt er ASP.NET et kæmpe stort og indbydende ta' selv bord og risikoen for at man kommer til at forspise sig i starten er stor.
Start fra en ende af og smag på det hele, men i små
bidder. Inden længe vil du kunne kende forskellene og vide
hvornår du skal bruge den ene type frem for den anden type
controls.
Som en lille suplerende hjælp til at få styr på begreberne har jeg lavet denne oversigt.
HTML Server Controls
Alle kendte html tags kan men to attributter blive til Html Server Controles, sådan at de kan programmeres.
Disse to attributter er runat og id
F.eks <span runat=server id="MyControl" ></span>
Nu kan du programmere MyControl:
f.eks.
MyControl.InnerHtml = "Her er den tekst som jeg vil udskive";
Web Server Controls
Bruges som HTML Server Controls
til at udskrive html med, men på en måde så man kan abstrahere fra
html'en. Der findes Server Controls der erstatter de
mest almindelige html tags, men også mere avancerede Server
Controls.(f.eks Calendar.DataList eller DataGrid). En væsentlig
grund til at bruge Web Server Controls frem for HTML Server Controls er
at de understøtter browser detection. Dvs. Controllen tilpasser
automatis layoutet til forskellige browserer.
Web User Controls
User Controls er filer der har endelsen .asxc
User Controls opføres sig lige som en Web Form Page.
En user control indeholder ikke <HTML>, <BODY>, og <FORM>
Disse elementer skal være i den side som bruger user control.
User
Controls kan ses som en afløser for include files i asp, da man ofte
bruger dem der hvor man lille have anvendt en include fil.
Web Custom Controls
Web custom controls er kompilerede
komponenter der køre på serveren og inkapsler brugerfladen og
anden funktionalitet i en genbrugelig pakke.
Custom Controls bruges i de samme situationer hvor man kan bruge User Controls. Custom Controls er besværligere at skrive men lettere at genbruge. F.eks kan man hvis man laver en reference til dem brugen dem i design-time i Visual Studio.NET .