Simpele server controls gebruiken

Er zijn allerlei soorten server controls beschikbaar in ASP.NET. De basis wordt gelegd door een aantal simpele server controls. Deze controls zijn gericht op het invoegen van tekst, links en afbeeldingen. Deze server controls zijn min of meer gelijk aan elementen die in HTML ook beschikbaar zijn, maar het voordeel is dat de server controls veel consistenter zijn, en daardoor makkelijker in gebruik. Bovendien zijn ze dynamisch en dus vanuit code aan te passen. De controls die hier behandeld worden zijn:

Literal control

De Literal control is bedoeld voor platte tekst. Dat wil zeggen dat je in een Literal control tekst kwijt kan zonder opmaak. De opmaak van die tekst wordt bepaald door de omliggende opmaak. U vraagt zich nu misschien af wat het nut van een dergelijke server control is, want u zou net zo goed de tekst gewoon in de pagina kunnen plaatsen, of een control kunnen gebruiken waarmee u wel opmaak aan de tekst kunt geven. De Literal control geeft u echter de mogelijkheid om een stuk tekst dynamisch aan te passen. Omdat er geen opmaak mee gemoeid is, vergt het gebruik van de Literal control heel weinig van ASP.NET. In een visuele designomgeving kunt u de Literal control op uw pagina slepen en de eigenschappen vervolgens instellen. Gebruikt u een teksteditor (of kijkt u naar de resulterende HTML van de visuele omgeving), dan is gebruikt u de Literal control als volgt:

<asp:Literal ID="naam" Runat="server">tekst</asp:Literal>

of

<asp:Literal ID="naam" Runat="server" Text="tekst"/>

Zoals u ziet is er maar ΘΘn eigenschap van de Literal control van belang, namelijk de tekst. De tekst kan gegeven worden als waarde van het element of zoals in het tweede geval als waarde van het Text attribuut. Via de Text eigenschap kunt u in programmacode de tekst in de server control aanpassen. De Literal control heeft nog twee eigenschappen die het deelt met alle server controls, namelijk EnableViewState en Visible. Beide kunnen de waarde True (waar) of False (niet waar) hebben, waarbij de standaard waarde True is. De eigenschap EnableViewState heeft te maken met het bewaren van waardes in de server control, en dit wordt verder behandeld in ViewState uitgelegd. De eigenschap Visible bepaalt of de server control te zien is in de webbrowser.

Label control

De Label control is feitelijk hetzelfde als de Literal control, met het verschil dat je aan de Label control een opmaak toe kunt kennen. Dit betekent meteen dat de Label control een groot aantal eigenschappen heeft die de Literal control niet heeft. Deze eigenschappen hebben betrekking op hoe de server control opgemaakt is in de webbrowser, en hoe deze zich gedraagt met betrekking tot navigatie in de browser (via de tab toets, sneltoets, en muis). Deze eigenschappen zijn heel belangrijk, omdat vrijwel alle andere server controls (met uitzondering van de Literal control) dezelfde eigenschappen hebben. Het is daarom belangrijk dat u goed weet waar ze voor dienen. In tabel 1 hieronder ziet u welke eigenschappen de Label control heeft, en deelt met andere server controls.

Eigenschap Omschrijving
AccessKey Sneltoets die in de webbrowser gebruikt kan worden om naar de server control te gaan.
BackColor Achtergrondkleur van de server control. Dit mag een zes-cijferige HTML kleurcode zijn voorafgegaan door een #, of een van de standaardkleuren die gedefiniδerd zijn.
BorderColor Kleur van de rand om de server control. Dit mag een zes-cijferige HTML kleurcode zijn voorafgegaan door een #, of een van de standaardkleuren die gedefiniδerd zijn.
BorderStyle Stijl van de rand om de server control. Standaard is dit NotSet (niet gedefiniδerd). Andere mogelijke waardes zijn None (geen), Dotted (stippellijn), Dashed (onderbroken lijn), Solid (lijn), Double (dubbele lijn), Groove (verzonken), Ridge (verhoogd), Inset (verzonken control), en Outset (verhoogde control).
BorderWidth Dikte van de rand om de server control. Standaard is dit een getal met de dikte in pixels, en u kunt dit ook expliciet opgeven door px achter de dikte te zetten (bijvoorbeeld 100px). Er zijn vele andere eenheden, waarvan de belangrijkste zijn % (percentage), cm (centimeter), en in (inch).
CssClass Cascading Style Sheet (CSS) class die de server control moet gebruiken in de browser. Als u deze eigenschap gebruikt, wordt de waarde ervan in de HTML de waarde van het class attribuut.
Enabled Geeft aan of de server control in de browser te gebruiken is. De waarde kan True (standaard) of False zijn.
EnableViewState Geeft aan of de server control de waardes bewaart via de ViewState. De waarde kan True (standaard) of False zijn.
ForeColor Kleur van de tekst in de server control. Dit mag een zes-cijferige HTML kleurcode zijn voorafgegaan door een #, of een van de standaardkleuren die gedefiniδerd zijn.
Height Hoogte van de server control. Standaard is dit een getal met de dikte in pixels, en u kunt dit ook expliciet opgeven door px achter de dikte te zetten (bijvoorbeeld 100px). Er zijn vele andere eenheden, waarvan de belangrijkste zijn % (percentage), cm (centimeter), en in (inch).
TabIndex Plaats in de volgorde voor navigatie in de webbrowser via de tab toets.
Text Tekst die in de server control weergegeven moet worden.
ToolTip Tekst die weergegeven moet worden als de gebruiker met de muis over de server control heen beweegt.
Visible Geeft aan of de server control in de webbrowser zichtbaar is. De waarde kan True (standaard) of False zijn.
Width Breedte van de server control. Standaard is dit een getal met de dikte in pixels, en u kunt dit ook expliciet opgeven door px achter de dikte te zetten (bijvoorbeeld 100px). Er zijn vele andere eenheden, waarvan de belangrijkste zijn % (percentage), cm (centimeter), en in (inch).
Tabel 1, Eigenschappen van de Label control

Naast de eigenschappen in tabel 1 bevat de Label control ook nog de eigenschap Font. Die eigenschap is weer een combinatie van andere eigenschappen, zoals lettertype, grootte, vet, cursief, enz. De Font eigenschap is in feite een object klasse die zelf eigenschappen bevat. Als er tekst opgemaakt moet worden, gebeurt dit altijd via de Font klasse, dus ook deze is erg belangrijk. Alle eigenschappen van de Font klasse ziet u in tabel 2.

Eigenschap Omschrijving
Bold Geeft aan of de tekst vet moet worden weergegeven. De waarde kan True of False (standaard) zijn.
Italic Geeft aan of de tekst cursief moet worden weergegeven. De waarde kan True of False (standaard) zijn.
Name Het voorkeurslettertype waarin de tekst moet worden weergegeven. De waarde moet de naam van een lettertype zijn.
Names Lettertypes die gebruikt kunnen worden om de tekst weer te geven. De waarde moet een lijst lettertypes zijn gescheiden door komma's. Het meest linkse lettertype dat de webbrowser kan weergeven wordt gebruikt. Het aantal lettertypes dat u kunt opgeven is in principe onbeperkt.
Overline Geeft aan of de tekst moet worden weergegeven met een streep erboven. De waarde kan True of False (standaard) zijn.
Size Geeft de grootte van de tekst aan. Deze eigenschap kan de volgende waardes hebben (van klein naar groot: XX-Small, X-Small, Smaller, Small (standaard), Medium, Large, Larger, X-Large, XX-Large.
Strikeout Geeft aan of de tekst doorgestreept moet worden weergegeven. De waarde kan True of False (standaard) zijn.
Underline Geeft aan of de tekst onderstreept moet worden weergegeven. De waarde kan True of False (standaard) zijn.
Tabel 2, Eigenschappen van de Font klasse

Als u met een visuele designomgeving werkt, hoeft u de eigenschappen in tabel 1 en tabel 2 niet allemaal te kennen. De designomgeving stelt u in staat om via het eigenschappenvenster de eigenschappen in te stellen. Heeft u geen beschikking over een dergelijke visuele designomgeving, dan kunt u tabel 1 en tabel 2 gebruiken om de server control in de HTML op te maken. Een voorbeeld hiervan ziet u hieronder.

<asp:Label id="Label1" Runat="server"
        Font-Italic="True" Font-Size="Large" Font-Names="Verdana,Helvetica"
        ForeColor="Blue" BackColor="#C0C0FF" BorderStyle="Dotted" BorderColor="Black"
        Height="50px" Width="150px">
Label
</asp:Label>

In het voorbeeld hierboven worden verschillende eigenschappen van de label control ingesteld. Zoals u kunt zien worden de eigenschappen gewoon als attributen ingevoegd. De verschillende eigenschappen van Font worden gegeven in de vorm Font-eigenschap. Het resultaat van het bovenstaande voorbeeld ziet er uit als in figuur 1, waarbij opgemerkt moet worden dat in sommige webbrowsers het resultaat er iets anders uit kan zien, afhankelijk van wat de webbrowser wel en niet ondersteunt (zie Pagina's opmaken met controls).


Figuur 1, Opgemaakt Label control zoals in de webbrowser weergegeven

HyperLink control

De HyperLink control is het server control equivalent van de link in HTML. De HyperLink control is vrijwel identiek aan de Label control, maar bevat nog drie extra eigenschappen. Die eigenschappen staan in tabel 3 hieronder.

Eigenschap Omschrijving
ImageUrl Lokatie van de weer te geven afbeelding. Als deze eigenschap niet gebruikt wordt, wordt er geen afbeelding weergegeven. De waarde dient een geldige URL te bevatten.
NavigateUrl Lokatie die de webbrowser moet openen als de gebruiker op de link klikt. De waarde dient een geldige URL te bevatten.
Target Het frame of venster waarin de pagina aangewezen door NavigateUrl geopend moet worden. De waarde moet de naam van een bestaand of nieuw te openen venster bevatten, of een van de volgende waardes: _blank (nieuw venster), _parent (moedervenster of -frame) , _search (in het zoekvenster, alleen Internet Explorer 5.0 en hoger), _self (zelfde venster of frame, standaard), _top (hele venster).
Tabel 3, Additionele eigenschappen van de HyperLink control

Aan de hand van tabel 3 kunt u in de HTML de HyperLink control naar een pagina laten wijzen die geopend moet worden in een nieuw venster. Zonder opmaak toe te kennen (zoals in het voorbeeld met de Label control), ziet de code er dan als volgt uit.

<asp:Hyperlink id="Link" Runat="server"
        NavigateUrl=http://www.asp.net Target="_blank>
De ASP.NET website
</asp:Hyperlink>

Het resultaat van de bovenstaande code is een normale HTML link in de webbrowser. Het verschil met een gewone link is natuurlijk wel dat de hyperlink control tijdens het uitvoeren van de pagina aangepast kan worden.

Image control

De Image control heeft dezelfde functie als het img element in HTML, het weergeven van een afbeelding. Naast de eigenschappen in tabel 1, bevat de Image control ook de eigenschappen in tabel 4. Omdat er geen tekst weergegeven wordt met de Image control, heeft deze geen Font eigenschap.

Eigenschap Omschrijving
AlternateText Geeft een alternatieve tekst die weergegeven moet worden als de afbeelding niet geladen wordt (identiek aan het alt attribuut van het img element in HTML).
ImageAlign Bepaalt de uitlijning van de afbeelding. In principe zijn de mogelijkheden gelijk aan de van het img element in HTML. de volgende waardes zijn mogelijk: NotSet (niet gedefiniδerd, standaard), Left (links uitlijnen, tekst loopt rechts om de afbeelding heen), Right (rechts uitlijnen, tekst loopt links om de afbeelding heen), Baseline (de onderkant van de afbeelding lijnt met de eerste regel tekst), Top (de bovenkant van de afbeelding lijnt met de bovenkant van het hoogste element op dezelfde regel), Middle (het midden van de afbeelding lijnt met de eerste regel tekst), Bottom (de onderkant van de afbeelding lijnt met de eerste regel tekst), AbsBottom (de onderkant van de afbeelding lijnt met de onderkant van het grootste element op dezelfde regel), AbsMiddle (het midden van de afbeelding lijnt met het midden van het grootste element op dezelfde regel), of TextTop (de bovenkant van de afbeelding lijnt met bovenkant van de hoogste tekst op dezelfde regel).
ImageUrl Lokatie van de weer te geven afbeelding. De waarde dient een geldige URL te bevatten.
Tabel 4, Additionele eigenschappen van de Image control

Hieronder ziet u een voobeeld waarin de grootte van een afbeelding wordt aangepast, en er een rode rand van 2 pixels dikte omde afbeelding heen wordt geplaatst.

<asp:Image id="Image1" runat="server" ImageUrl="images/framework.jpg"
              BorderStyle="Solid" BorderWidth="2px" BorderColor="Red"
              Width="355px" Height="222px">
</asp:Image>

Het resultaat van de code hierboven ziet u in figuur 2.


Figuur 2, Resultaat van een Image control

⌐2002 Microsoft Nederland BV