Overzicht van ASP.NET-serverbesturingselementen

In dit artikel worden ASP.NET serverbesturingselementen geïntroduceerd, zoals HTML-serverbesturingselementen, webserverbesturingselementen, lijstbesturingselementen, enzovoort.

Oorspronkelijke productversie: ASP.NET
Origineel KB-nummer: 306459

Dit artikel verwijst naar de volgende Microsoft .NET Framework Class Library-naamruimten:

  • System.Web.UI.HtmlControls.HtmlControl
  • System.Web.UI.WebControls.WebControl

Serverbesturingselementen in ASP.NET-paginaframework

Het ASP.NET-paginaframework bevat een aantal ingebouwde serverbesturingselementen die zijn ontworpen om een meer gestructureerd programmeermodel voor het web te bieden. Deze besturingselementen bieden de volgende functies:

  • Automatisch statusbeheer.
  • Eenvoudige toegang tot objectwaarden zonder dat u het Request object hoeft te gebruiken.
  • De mogelijkheid om te reageren op gebeurtenissen in code aan de serverzijde om toepassingen te maken die beter gestructureerd zijn.
  • Algemene aanpak voor het bouwen van gebruikersinterfaces voor webpagina's.
  • De uitvoer wordt automatisch aangepast op basis van de mogelijkheden van de browser.

Naast de ingebouwde besturingselementen biedt het ASP.NET paginaframework ook de mogelijkheid om gebruikersbesturingselementen en aangepaste besturingselementen te maken. Gebruikersbesturingselementen en aangepaste besturingselementen kunnen bestaande besturingselementen verbeteren en uitbreiden om een veel uitgebreidere gebruikersinterface te bouwen.

HTML-serverbesturingselementen

De BESTURINGSelementen van de HTML-server zijn HTML-elementen die een runat=server kenmerk bevatten. De HTML-serverbesturingselementen hebben dezelfde HTML-uitvoer en dezelfde eigenschappen als de bijbehorende HTML-tags. Daarnaast bieden HTML-serverbesturingselementen automatisch statusbeheer en gebeurtenissen aan de serverzijde. HTML-serverbesturingselementen bieden de volgende voordelen:

  • De HTML-serverbesturingselementen wijzen een-op-een toe met de bijbehorende HTML-tags.
  • Wanneer de ASP.NET toepassing wordt gecompileerd, worden de HTML-serverbesturingselementen met het runat=server kenmerk gecompileerd in de assembly.
  • De meeste besturingselementen bevatten een OnServerEvent voor de meest gebruikte gebeurtenis voor het besturingselement. Het besturingselement heeft bijvoorbeeld <input type=button> een OnServerClick gebeurtenis.
  • De HTML-tags die niet zijn geïmplementeerd als specifieke HTML-serverbesturingselementen, kunnen nog steeds worden gebruikt aan de serverzijde; Ze worden echter toegevoegd aan de assembly als HtmlGenericControl.
  • Wanneer de ASP.NET pagina opnieuw wordt geplaatst, behouden de HTML-serverbesturingselementen hun waarden.

De System.Web.UI.HtmlControls.HtmlControl basisklasse bevat alle algemene eigenschappen. HTML-serverbesturingselementen zijn afgeleid van deze klasse.

Als u een HTML-serverbeheer wilt gebruiken, gebruikt u de volgende syntaxis (waarbij het HtmlInputText besturingselement als voorbeeld wordt gebruikt):

<input type="text" value="hello world" runat=server />

Zie de volgende websites voor meer informatie over afzonderlijke HTML-serverbesturingselementen die beschikbaar zijn in ASP.NET:

Besturingselementen voor webservers

Webbesturingselementen zijn vergelijkbaar met de HTML-serverbesturingselementen zoals Knop, Tekstvak en Hyperlink, behalve dat webbesturingselementen een gestandaardiseerde set eigenschapsnamen hebben. Besturingselementen voor webservers bieden de volgende voordelen:

  • Maak het voor fabrikanten en ontwikkelaars gemakkelijker om hulpprogramma's of toepassingen te bouwen waarmee de gebruikersinterface automatisch wordt gegenereerd.
  • Vereenvoudig het proces van het maken van interactieve webformulieren, waarvoor minder kennis is vereist van de werking van HTML-besturingselementen en waardoor de taak om deze te gebruiken minder gevoelig is voor fouten.

De System.Web.UI.WebControls.WebControl basisklasse bevat alle algemene eigenschappen. De meeste webserverbesturingselementen zijn afgeleid van deze klasse.

Als u een webserver-besturingselement wilt gebruiken, gebruikt u de volgende syntaxis (waarbij het besturingselement Tekstvak als voorbeeld wordt gebruikt):

<asp:textbox text="hello world" runat=server />

Webserverbesturingselementen kunnen worden onderverdeeld in vier categorieën:

  • Eenvoudige webbesturingselementen
  • Validatiebesturingselementen
  • Lijstbesturingselementen
  • Uitgebreide besturingselementen

Eenvoudige webbesturingselementen

Eenvoudige webbesturingselementen bieden dezelfde functionaliteit als hun HTML-serverbesturings-tegenhangers. Eenvoudige webbesturingselementen bevatten echter aanvullende methoden, gebeurtenissen en eigenschappen waarop u kunt programmeren.

Zie de volgende websites voor meer informatie over afzonderlijke webbesturingselementen die beschikbaar zijn in ASP.NET:

Validatiebesturingselementen

Validatiebesturingselementen worden gebruikt om de waarden te valideren die zijn ingevoerd in andere besturingselementen van de pagina. Validatiebesturingselementen voeren validatie aan clientzijde, serverzijdevalidatie of beide uit, afhankelijk van de mogelijkheden van de browser waarin de pagina wordt weergegeven. Validatiebesturingselementen bieden de volgende voordelen:

  • U kunt een of meer validatiebesturingselementen koppelen aan elk besturingselement dat u wilt valideren.
  • De validatie wordt uitgevoerd wanneer het paginaformulier wordt verzonden.
  • U kunt programmatisch opgeven of validatie moet plaatsvinden. Dit is handig als u een knop Annuleren wilt opgeven, zodat de gebruiker kan afsluiten zonder geldige gegevens in alle velden te hoeven invullen.
  • De validatiebesturingselementen detecteren automatisch of validatie moet worden uitgevoerd aan de clientzijde of aan de serverzijde.

Opmerking

Een validatie aan de clientzijde vangt fouten op voordat een postback-bewerking is voltooid. Als u daarom combinaties van validatiebesturingselementen aan de clientzijde en op de serverzijde op één pagina hebt, wordt de validatie aan de serverzijde afgekeerd als een validatie aan de clientzijde mislukt. Raadpleeg de volgende websites voor meer informatie over afzonderlijke validatiebesturingselementen die beschikbaar zijn in ASP.NET:

Lijstbesturingselementen

Lijstbesturingselementen zijn speciale webserverbesturingselementen die binding aan verzamelingen ondersteunen. U kunt lijstbesturingselementen gebruiken om rijen met gegevens weer te geven in een aangepaste sjabloonindeling. In alle lijstbesturingselementen worden de eigenschappen DataSource en DataMember weergegeven, die worden gebruikt om te binden aan verzamelingen.

Lijstbesturingselementen kunnen alleen verbinden met verzamelingen die ondersteuning bieden voor de interfaces IEnumerable, ICollection of IListSource. Een visual C# .NET-voorbeeldpagina wordt bijvoorbeeld als volgt weergegeven:

<%@ Page Language="C#" %>
<script runat="server">
    Public void Page_Load()
    {
        String[] myStringArray = new String[] {"one","two","three"};
        rptr.DataSource = myStringArray;
        rptr.DataBind();
    }
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

Een Visual Basic .NET-voorbeeldpagina wordt als volgt weergegeven:

<%@ Page Language="vb" %>
<script runat="server">
    public sub Page_Load()
        Dim myStringArray as String()
        myStringArray = new String() {"one","two","three"}
        rptr.DataSource = myStringArray
        rptr.DataBind()
    end sub
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

De uitvoer ziet er als volgt uit:

  • Een
  • Twee
  • Drie

Zie de volgende websites voor meer informatie over afzonderlijke lijstbesturingselementen die beschikbaar zijn in ASP.NET:

Uitgebreide besturingselementen

Naast de voorgaande besturingselementen biedt het ASP.NET-paginaframework een aantal, taakspecifieke besturingselementen die uitgebreide besturingselementen worden genoemd. Uitgebreide besturingselementen zijn gebouwd met meerdere HTML-elementen en bevatten uitgebreide functionaliteit. Voorbeelden van uitgebreide besturingselementen zijn het besturingselement Agenda en het besturingselement AdRotator.

Zie de volgende websites voor meer informatie over afzonderlijke uitgebreide besturingselementen die beschikbaar zijn in ASP.NET:

Gebruikersbesturingselementen

Vaak wilt u de gebruikersinterface van uw webformulier opnieuw gebruiken zonder extra code te hoeven schrijven. ASP.NET kunt u dit doen door uw Web Forms te converteren naar gebruikersbesturingselementen. Besturingselementen van gebruikers, die de bestandsextensie.ascx hebben, kunnen meerdere keren worden gebruikt in één webformulier.

Voer de volgende stappen uit om een webformulier te converteren naar een gebruikersbesturingselement:

  1. Verwijder alle <html>tags , <head>, <body>en <form> .
  2. Als de @ Page instructie wordt weergegeven op de pagina, wijzigt u deze in @ Control.
  3. Neem een className kenmerk op in de @ Control instructie, zodat het gebruikersbeheer sterk wordt getypt wanneer u het instantiëert.
  4. Geef het besturingselement een beschrijvende bestandsnaam en wijzig de bestandsextensie van .aspx in .ascx.

Zie gebruikersbesturingselementen Web Forms voor meer informatie over gebruikersbesturingselementen.

Aangepaste besturingselementen

Naast de ingebouwde webbesturingselementen kunt u met ASP.NET ook uw eigen aangepaste besturingselementen maken. Het kan handig zijn om aangepaste besturingselementen te ontwikkelen als u te maken hebt met een van deze scenario's:

  • U moet de functionaliteit van twee of meer ingebouwde webbesturingselementen combineren.
  • U moet de functionaliteit van een ingebouwd besturingselement uitbreiden.
  • U hebt een ander besturingselement nodig dan de besturingselementen die momenteel bestaan.

Zie de volgende onderwerpen voor meer informatie over het ontwikkelen van aangepaste besturingselementen: