Freigeben über


Entwickeln von benutzerdefinierten Steuerelementen: Kernkonzepte

Unter diesem Thema wird ein Überblick über die verschiedenen Programmierelemente gegeben, die bei der Entwicklung von ASP.NET-Serversteuerelementen eine Rolle spielen. Die Erläuterungen sind als allgemeiner Programmierleitfaden gedacht. Details werden weiter unten in diesem Abschnitt erörtert. Sie können ein Steuerelement in jeder beliebigen Sprache verfassen, die kompatibel mit der Common Language Specification ist. Diese wird unter Was ist CLS (Common Language Specification)? beschrieben.

Bei einem ASP.NET-Serversteuerelement handelt es sich um eine Klasse, die direkt oder indirekt von der System.Web.UI.Control-Klasse abgeleitet ist. Die folgenden beiden Klassen sind die Basisklassen von ASP.NET-Serversteuerelementen.

  • System.Web.UI.Control

    Durch die Control-Klasse werden die Eigenschaften, Methoden und Ereignisse definiert, die allen ASP.NET-Serversteuerelementen gemeinsam sind. Dazu gehören Methoden und Ereignisse, die den Ausführungszyklus des Steuerelements und dessen Eigenschaften bestimmen, wie z. B. ID, UniqueID, Parent, ViewState und Controls (die Auflistung von untergeordneten Steuerelementen). Control verfügt über keine spezifischen Funktionen für die Benutzeroberfläche. Leiten Sie von Control solche Steuerelemente ab, die entweder keine Benutzeroberfläche bereitstellen oder eine Kombination von Steuerelementen zur Wiedergabe einer eigenen Benutzeroberfläche darstellen.

  • System.Web.UI.WebControls.WebControl

    Die WebControl-Klasse ist von der Control-Klasse abgeleitet und stellt zusätzliche Eigenschaften und Methoden für Funktionen der Benutzeroberfläche bereit. Zu diesen Eigenschaften gehören ForeColor, BackColor, Font, BorderStyle, Height und Width. Bei WebControl handelt es sich um die Basisklasse für alle Webserversteuerelemente von ASP.NET. Ein Steuerelement, das eine Benutzeroberfläche bereitstellt, muss von der WebControl-Klasse abgeleitet werden.

In Abhängigkeit von der Funktionalität des Steuerelements müssen Sie eine oder mehrere der folgenden Schnittstellen implementieren.

  • System.Web.UI.INamingContainer

    Bei INamingContainer handelt es sich um eine (leere) Markierungsschnittstelle, die über keine Methode verfügt. Wird diese Schnittstelle durch ein Steuerelement implementiert, wird unter diesem Steuerelement durch das ASP.NET-Seitenframework ein neuer Gültigkeitsbereich für Namen erstellt. Dadurch ist gewährleistet, dass die untergeordneten Steuerelemente in der hierarchischen Struktur über eindeutige IDs verfügen. Die Implementierung der INamingContainer-Schnittstelle ist erforderlich, wenn es sich um ein zusammengesetztes Steuerelement mit untergeordneten Steuerelementen handelt, das entweder Datenbindung unterstützt, auf einer Vorlage basiert oder Ereignisse zu untergeordneten Steuerelementen weiterleitet. Beispiele sind das Repeater-Steuerelement und andere datengebundene Steuerelemente. Weitere Informationen finden Sie unter Entwickeln eines zusammengesetzten Steuerelements.

  • System.Web.UI.IPostBackDataHandler

    Die IPostBackDataHandler-Schnittstelle muss implementiert werden, wenn durch das Steuerelement Postback-Daten verarbeitet und sein Zustand aktualisiert werden soll, oder wenn durch das Steuerelement bei Änderungen von Daten auf dem Server ein Ereignis ausgelöst werden soll. Ein Beispiel ist das TextBox-Steuerelement. Von diesem Steuerelement werden zurückgesendete Daten verarbeitet, seine Text -Eigenschaft wird aktualisiert und ein TextChanged-Ereignis ausgelöst, wenn der Text verändert wurde. Weitere Informationen dazu finden Sie unter Verarbeiten von Postback-Daten.

  • System.Web.UI.IPostBackEventHandler

    Die IPostBackEventHandler-Schnittstelle muss implementiert werden, wenn das Steuerelement clientseitige Postback-Ereignisse erfassen und auf diese Ereignisse mit Ereignisbehandlung oder Auslösen eines Ereignisses auf dem Server reagieren soll. Ein Beispiel dafür ist das Button-Steuerelement, mit dem auf eine Formularübertragung reagiert und ein Click-Ereignis auf dem Server ausgelöst wird. Weitere Informationen dazu finden Sie unter Auffangen von Postback-Ereignissen.

Bei einem benutzerdefinierten Steuerelement können die von der Basisklasse geerbten Eigenschaften, Methoden und Ereignisse überschrieben, aber auch neue hinzugefügt werden. Weitere Informationen dazu finden Sie unter Eigenschaften von ASP.NET-Serversteuerelementen, Methoden in ASP.NET-Serversteuerelementen und Ereignisse in ASP.NET-Serversteuerelementen.

Unter Formate in Serversteuerelementen finden Sie eine Beschreibung, wie Sie mit ASP.NET-Steuerelementen auf Formate zugreifen und diese offen legen können. Sie können auch ein ASP.NET-Steuerelement programmieren, mit dem es Entwicklern von Seiten möglich ist, die Benutzeroberfläche durch Inlinevorlagen anzupassen. Weitere Informationen dazu finden Sie unter Entwickeln eines Steuerelements mit Vorlagen.

Informationen zur Entwicklung von Steuerelementen mit komplexen Eigenschaften und Datenbindung finden Sie unter Entwickeln eines datengebundenen Steuerelements mit Vorlagen.

Eine exemplarische Vorgehensweise zum Erstellen von einfachen benutzerdefinierten Steuerelementen finden Sie unter Entwickeln eines einfachen ASP.NET-Serversteuerelements.

Siehe auch

Entwickeln eines einfachen ASP.NET-Serversteuerelements | Hierarchie von ASP.NET-Serversteuerelementen