Freigeben über


Übersicht über ASP.NET-AJAX-Extendersteuerelemente

Aktualisiert: November 2007

ASP.NET-AJAX-Extendersteuerelemente erweitern die Clientfunktionen von Standard-ASP.NET-Webserversteuerelementen. Sie können gezielt Webserversteuerelemente, beispielsweise die Steuerelemente TextBox, Button und Panel, durch einen oder mehrere Extender erweitern, um eine verbesserte Benutzerfreundlichkeit im Browser zu ermöglichen. Soll beispielsweise ein Formular vor dem Übermitteln zum Server vom Benutzer bestätigt werden, können Sie ein Extendersteuerelement einsetzen, das einem Button-Steuerelement Clientfunktionen hinzufügt.

Sie können Visual Studio ASP.NET-AJAX-Extendersteuerelemente hinzufügen und diese wie jedes andere Steuerelement verwenden. Sie können eigene Extendersteuerelemente erstellen oder vorhandene aus anderen Quellen beziehen.

Eine Quelle für Extendersteuerelemente ist das ASP.NET-AJAX Control Toolkit. Das Control Toolkit enthält Beispiele und ein SDK, das eine einfache Erstellung und Wiederverwendung von benutzerdefinierten Steuerelementen und Extendern ermöglicht. Sie können das ASP.NET-AJAX Control Toolkit von der ASP.NET-AJAX-Website herunterladen.

Wichtiger Hinweis:

Das ASP.NET-AJAX Control Toolkit ist eine durch eine Community unterstützte Bibliothek; es wird nicht von Microsoft unterstützt. In diesem Thema werden die Extendersteuerelemente erläutert, die als Beispiele zum Verwenden von Extendersteuerelementen im Control Toolkit enthalten sind. Sie sollten die Informationen in diesem Thema jedoch nicht so verstehen, dass die angesprochenen Extendersteuerelemente reguläre Bestandteile von ASP.NET oder unterstützte Steuerelemente sind.

Dieses Thema enthält Informationen über:

  • AJAX-Extendersteuerelementfeatures

  • Hintergrund

  • Klassenreferenz

Features

Visual Studio unterstützt die folgenden Features von Extendersteuerelementen:

  • Hinzufügen von Extendersteuerelementen

  • Entfernen von Extendersteuerelementen

  • Festlegen von Extendersteuerelementeigenschaften

  • Verwalten von Extendersteuerelementen

Zurück nach oben

Hintergrund

Extendersteuerelemente können verwendet werden, um die Clientfunktionen von Standardwebserversteuerelementen zu erweitern. Extendersteuerelemente werden nicht einzeln verwendet. Stattdessen fügen Sie diese an ein anderes ASP.NET-Webserversteuerelement an. Extendersteuerelemente werden einem Webserversteuerelement angefügt, indem die TargetControlID-Eigenschaft des Extendersteuerelements auf die ID des zu erweiternden Serversteuerelements festgelegt wird.

Arbeiten mit Extendersteuerelementen in Visual Studio

Nach dem Installieren des ASP.NET-AJAX Control Toolkit werden die Extendersteuerelemente in der Toolbox auf einer eigenen Registerkarte angezeigt. Der Bereich der Extendersteuerelemente in der Toolbox wird ausschließlich für Webseiten angezeigt, ähnlich wie der Standard-Bereich der Toolbox.

Hinweis:

Das ASP.NET-AJAX Control Toolkit ist eine durch eine Community unterstützte Bibliothek. Es ist kein Bestandteil von ASP.NET.

Hinzufügen von Extendersteuerelementen

Sie können in der Ansicht Entwurf die folgenden Methoden zum Hinzufügen von Extendersteuerelementen zu einem Webserversteuerelement verwenden:

  • Ziehen Sie das Extendersteuerelement auf das Webserversteuerelement. Sie können das Extendersteuerelement nur auf Webserversteuerelemente ziehen, die Extendersteuerelemente unterstützen. Beim Ziehen des Extendersteuerelements über die Entwurfsoberfläche zeigt der Zeiger an, ob das Extendersteuerelement auf ein Webserversteuerelement gezogen werden kann.

  • Klicken Sie mit der rechten Maustaste auf das Webserversteuerelement, und klicken Sie dann auf Extender hinzufügen.

  • Wählen Sie das Smarttag Schaltflächen-Aufgaben aus, und klicken Sie dann auf Extender hinzufügen.

    Hinweis:

    In der Ansicht Entwurf werden Extendersteuerelemente normalerweise nicht angezeigt. Wenn jedoch ein Fehler im Zusammenhang mit einem Extendersteuerelement auftritt, wird das Extendersteuerelement angezeigt.

Beim Hinzufügen eines Extendersteuerelements im Designer wird die TargetControlID-Eigenschaft des Extendersteuerelements auf das verknüpfte Webserversteuerelement festgelegt. Der Name des Extendersteuerelements basiert auf dem Namen des verknüpften Webserversteuerelements.

Ein Extendersteuerelement unterstützt möglicherweise konfigurierbare Benutzeroberflächenelemente. In diesem Fall können diese Elemente über das Smarttagmenü des erweiterten Webserversteuerelements festgelegt werden.

Das mit einem Zielsteuerelement verknüpfte Extendersteuerelement wird auf der Entwurfsoberfläche nicht angezeigt. Wenn das Extendersteuerelement nicht mit einem Zielsteuerelement verknüpft ist oder die Zuordnung zur Entwurfszeit nicht ermittelt werden kann, wird das Extendersteuerelement als Platzhalter auf der Entwurfsoberfläche angezeigt. In den folgenden Szenarien kann dies vorkommen:

  • Die TargetControlID-Eigenschaft ist leer.

  • Die TargetControlID-Eigenschaft passt nicht zu einem vorhandenen Steuerelement.

  • Die TargetControlID-Eigenschaft verweist auf ein Steuerelement, das nicht vom Extendersteuerelement erweitert werden kann.

Ist das Extendersteuerelement mit einem gültigen Zielsteuerelement verknüpft, werden die folgenden Extendersteuerelementeigenschaften von Visual Studio im Eigenschaftenfenster ausgeblendet:

  • TargetControlID

  • EnableViewState (geerbt von Control)

  • ID (geerbt von Control)

Weitere Informationen zum Hinzufügen von Extendersteuerelementen zu Webserversteuerelementen finden Sie unter Exemplarische Vorgehensweise: ASP.NET-AJAX-Extendersteuerelemente.

Entfernen von Extendersteuerelementen

Die Zuordnung zwischen einem Extendersteuerelement und einem Webserversteuerelement können Sie folgendermaßen entfernen:

  • Klicken Sie in der Ansicht Entwurf mit der rechten Maustaste auf das Webserversteuerelement, klicken Sie auf Extender entfernen, und wählen Sie anschließend das zu entfernende Extendersteuerelement aus.

  • Wählen Sie in der Ansicht Entwurf das Smarttag Schaltflächen-Aufgaben aus, klicken Sie auf Extender entfernen, und wählen Sie anschließend das zu entfernende Extendersteuerelement aus.

  • Löschen Sie das Extendersteuerelementmarkup in der Ansicht Quelle.

Extendersteuerelemente und das ScriptManager-Steuerelement

Extendersteuerelemente, die von der ExtenderControl-Klasse abgeleitet sind, erfordern das Vorhandensein eines ScriptManager-Steuerelements auf der Seite. Die ExtenderControl-Basisklasse führt einen Test durch, um sicherzustellen, dass ein ScriptManager-Steuerelement auf der Seite vorhanden ist.

Wenn Sie jedoch ein Extendersteuerelement erstellen möchten, das kein ScriptManager-Steuerelement benötigt, können Sie eine Klasse erstellen, die die IExtenderControl-Schnittstelle direkt implementiert. Wenn Sie eine Klasse erstellen, die von Control abgeleitet ist, oder wenn Sie ein vorhandenes Steuerelement erweitern, das von Control abgeleitet ist, können Sie die IExtenderControl-Schnittstelle selbst implementieren.

Die IExtenderControl-Schnittstelle registriert die Skriptbibliotheken für ein Steuerelement durch Aufrufen der GetScriptReferences-Methode. Die ScriptDescriptor-Objekte werden durch Aufrufen der GetScriptDescriptors-Methode registriert. Die GetScriptDescriptors-Methode gibt eine IEnumerable-Liste von ScriptDescriptor-Objekten zurück.

Hinweis:

Wenn Sie einen vorhandenen Steuerelementtyp erweitern, der von der WebControl-Klasse abgeleitet ist, implementieren Sie die IScriptControl-Schnittstelle.

Weitere Informationen zum Erstellen eines ASP.NET-AJAX-Extendersteuerelements finden Sie unter Hinzufügen von Clientfunktionen zu einem Webserversteuerelement.

Extendersteuerelemente im AJAX Control Toolkit

In der folgenden Tabelle werden einige AJAX-Extendersteuerelemente beschrieben, die im ASP.NET-AJAX Control Toolkit enthalten sind.

Hinweis:

Das ASP.NET-AJAX Control Toolkit ist eine durch eine Community unterstützte Bibliothek. Es ist kein Bestandteil von ASP.NET. Der Inhalt der Bibliothek und die Funktionalität einzelner Steuerelemente können sich ändern.

AJAX-Extendersteuerelement

Beschreibung

CascadingDropDown

Füllt ein DropDownList-Steuerelement dynamisch, abhängig von der Auswahl in einem anderen DropDownList-Steuerelement. Dieses Extendersteuerelement wird einem DropDownList-Steuerelement angefügt.

Nach einer Änderung der Auswahl eines DropDownList-Steuerelements ruft das CascadingDropDown-Extendersteuerelement einen festgelegten Webdienst auf, um eine Liste von Werten zum Füllen der nächsten DropDownList in der Gruppe abzurufen.

CollapsiblePanelExtender

Ermöglicht das Hinzufügen von reduzierbaren Abschnitten zu einer Webseite.

Dieses Extendersteuerelement wird einem UpdatePanel-Steuerelement angefügt.

Sie können ein Webserversteuerelement angeben, das das UpdatePanel-Steuerelement erweitern oder reduzieren kann. Wahlweise kann UpdatePanel so festgelegt werden, das es beim Bewegen des Mauszeigers über das Steuerelement automatisch erweitert oder reduziert wird.

ConfirmButtonExtender

Zeigt nach dem Klicken auf ein Button-Steuerelement, jedoch vor dem Übermitteln der Seite oder UpdatePanel an den Server, ein Meldungsfeld zur Bestätigung an. Nach einem Abbrechen durch den Benutzer wird die Seite nicht übermittelt.

Dieses Extendersteuerelement wird einem Button-Steuerelement angefügt.

FilteredTextBoxExtender

Verhindert, dass Benutzer bestimmte Zeichen in ein TextBox-Steuerelement eingeben.

Dieses Extendersteuerelement wird einem TextBox-Steuerelement angefügt.

ModalPopupExtender

Ermöglicht das Anzeigen von Inhalten, verhindert jedoch das Interagieren des Benutzers mit dem Rest der Seite.

Dieses Extendersteuerelement kann mit jedem Webserversteuerelement verknüpft werden, das zum Öffnen des modalen Fensters verwendet werden kann.

PasswordStrength

Zeigt die Stärke eines Kennworts an.

Dieses Extendersteuerelement wird einem TextBox-Steuerelement angefügt.

RoundedCornersExtender

Versieht vorhandene Elemente mit abgerundeten Ecken.

Dieses Extendersteuerelement wird normalerweise einem Panel-Steuerelement angefügt.

TextBoxWatermarkExtender

Zeigt eine Meldung in einem TextBox-Steuerelement an, wenn das Textfeld keinen Textwert enthält.

Dieses Extendersteuerelement wird einem TextBox-Steuerelement angefügt.

Festlegen von Extendersteuerelementeigenschaften

Die Eigenschaften von Extendersteuerelementen können im Fenster Eigenschaften festgelegt werden. Einige Extendersteuerelemente stellen zusätzliche Benutzeroberflächenelemente zur Verfügung, auf die über das Smarttagmenü des Webserversteuerelements zugegriffen werden kann.

Wenn ein Webserversteuerelement erweitert wird, wird im Fenster Eigenschaften eine neue Kategorie mit dem Namen Extender angezeigt. In diesem Bereich wird für jedes Extendersteuerelement, das an das Webserversteuerelement angefügt wurde, eine neue Mehrfacheigenschaft angezeigt. Jedes Extendersteuerelement stellt eindeutige steuerelementspezifische Eigenschaften bereit.

Weitere Informationen zum Festlegen von Eigenschaften von Webserversteuerelementen finden Sie unter Gewusst wie: Aktivieren des Fensters "Eigenschaften" in Visual Web Developer.

Verwalten von Extendersteuerelementen

Da Extendersteuerelemente nicht direkt in der Ansicht Entwurf dargestellt werden, können sie als Bestandteil des Steuerelements, dem sie angefügt wurden, verwaltet werden. Wird das Webserversteuerelement an einen anderen Ort oder in ein anderes Steuerelement verschoben, werden auch die angefügten Extender verschoben.

Das Markup des Extendersteuerelements wird direkt nach dem Markup für das Webserversteuerelement eingefügt. Wenn einem Webserversteuerelement mehrere Extendersteuerelemente angefügt wurden, wird beim Verschieben die Reihenfolge der Extendersteuerelemente beibehalten. Dies reduziert die Möglichkeit von Konflikten zur Laufzeit.

Wenn ein Webserversteuerelement mit angefügten Extendersteuerelementen von der Entwurfsoberfläche gelöscht wird, werden die zugeordneten Extender ebenfalls gelöscht. Nach dem Ändern der ID-Eigenschaft eines Webserversteuerelements mit angefügten Extendersteuerelementen im Fenster Eigenschaften werden die TargetControlID-Eigenschaft und die ID-Eigenschaft der Extendersteuerelemente aktualisiert, damit sie übereinstimmen.

Hinweis:

Wenn ein Extender über eine benutzerdefinierte ID verfügt (beispielsweise eine von Ihnen bereitgestellte), wird die ID-Eigenschaft nicht geändert, nachdem die ID-Eigenschaft eines zugeordneten Webserversteuerelements geändert wurde.

Wird ein Webserversteuerelement mit angefügten Extendersteuerelementen ausgeschnitten oder in die Zwischenablage kopiert, enthält die Kopie in der Zwischenablage auch die verknüpften Extendersteuerelemente. Sie werden als Markup kopiert und folgen unmittelbar nach dem Steuerelement. Dies tritt auch dann auf, wenn das Extendermarkup in der Quelle nicht mit dem Steuerelement zusammenhängt. Beim Einfügen des Webserversteuerelements werden die Extendersteuerelemente ebenfalls eingefügt.

Beim Auftreten eines Fehlers im Markup eines Extendersteuerelements wird dieser in der Ansicht Entwurf mit der Meldung "Fehler beim Rendern des Steuerelements" angezeigt. Korrigieren Sie das Markup in der Ansicht Quelle, um diesen Fehler zu beheben.

Zurück nach oben

Klassenreferenz

In der folgenden Tabelle werden die wichtigsten Serverklassen für Extendersteuerelemente dargestellt.

Klasse

Beschreibung

ExtenderControl

Stellt eine abstrakte Basisklasse für ein Extendersteuerelement bereit.

IExtenderControl

Definiert das Verhalten für ein Extendersteuerelement.

Zurück nach oben

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: ASP.NET-AJAX-Extendersteuerelemente