Webpartinfrastruktur in SharePoint Foundation

Letzte Änderung: Mittwoch, 14. April 2010

Gilt für: SharePoint Foundation 2010

Webparts sind serverseitige Steuerelemente, die im Kontext von Microsoft SharePoint Foundation-Websiteseiten ausgeführt werden. Sie können diese Steuerelemente verwenden, um die Benutzeroberfläche anzupassen und den Inhalt einer Websiteseite zu bearbeiten. SharePoint Foundation enthält Standardwebparts und bietet die Möglichkeit, benutzerdefinierte Webparts zu erstellen. In SharePoint Foundation werden zwei Webparttypen unterstützt. Diese werden als SharePoint- und ASP.NET-Webparts bezeichnet. Für ASP.NET-Webparts wird die System.Web.UI.WebControls.WebParts.WebPart-Basisklasse verwendet, während für SharePoint-Webparts die Microsoft.SharePoint.WebPartPages.WebPart-Basisklasse verwendet wird. Beide Typen werden unterstützt, aber für alle neuen Projekte wird das ASP.NET-Webpart empfohlen.

Objektmodell für Webparts

Webparts in SharePoint Foundation basieren auf der Microsoft ASP.NET-Webpartinfrastruktur. Zum Erstellen von Webparts für Anwendungen für SharePoint Foundation sollten Sie benutzerdefinierte Webparts auf der Grundlage der ASP.NET-Webpartinfrastruktur erstellen. In einigen wenigen Fällen müssen Sie jedoch möglicherweise Webparts mit Unterstützung für SharePoint Foundation-Features erstellen, die in der ASP.NET-Webpartinfrastruktur nicht verfügbar sind.

ASP.NET-Webparts

Die ASP.NET-Webpartinfrastruktur basiert auf einer WebPartManager-Klasse, von der die Lebensdauer von Webpartinstanzen zur Laufzeit verwaltet wird.

Jede ASP.NET-Seite, auf der Webpartsteuerelemente verwendet werden, muss zur Unterstützung der Personalisierung die folgenden Objekte enthalten:

  • Genau ein WebPartManager-Objekt, mit dem nachverfolgt wird, welche Webparts den einzelnen Zonen hinzugefügt wurden, und mit dem Daten zur Anpassung und Personalisierung der einzelnen Webparts gespeichert und abgerufen werden.

  • Mindestens ein WebPartZone-Objekt, in dem Webparts platziert werden.

Zum Ausführen von SharePoint Foundation-Webparts in einer ASP.NET-Anwendung müssen Sie eine ASPX-Seite erstellen, die genau eine Instanz des WebPartManager-Steuerelements und mindestens ein WebPartZone-Steuerelement enthält. Das WebPartManager-Steuerelement ist zuständig für die Serialisierung webpartbezogener Daten sowie für das Speichern und Abrufen dieser Daten aus der Datenbank.

Mit den Steuerelementen SPWebPartManager und WebPartZone wird die Serialisierung der Webparts zugeordneten Daten in der entsprechenden SharePoint Foundation-Inhaltsdatenbank verwaltet. Damit die Daten dauerhaft gespeichert werden können, müssen die ASP.NET-Webparts auf einer Seite mit diesen beiden Steuerelementen platziert werden.

Da diese SharePoint Foundation-spezifischen Steuerelemente auf Seiten mit Webparts erforderlich sind, können Sie nicht einfach eine ASP.NET-Seite in eine SharePoint Foundation-Website kopieren. Zum Verschieben von ASP.NET-Webparts aus einer ASP.NET-Anwendung in eine SharePoint Foundation-Anwendung exportieren Sie die Webparts als WEBPART-Dateien aus ASP.NET und importieren sie in eine SharePoint Foundation-Website.

SharePoint-Webparts

In der SharePoint Foundation-Webpartinfrastruktur werden viele Steuerelemente aus dem Satz der ASP.NET-Webpartsteuerelemente verwendet und verschiedene eigene Steuerelemente eingeführt, die von Basisklassen erben, die vom Satz der ASP.NET-Webpartsteuerelemente erben.

Websiteseiten für eine SharePoint Foundation-Website verwenden beispielsweise nicht die ASP.NET-Standardklasse WebPartManager. Stattdessen verwenden sie die SharePoint Foundation-spezifische SPWebPartManager-Klasse, die von der ASP.NET-Klasse WebPartManager erbt.

HinweisHinweis

Die im Lieferumfang von SharePoint Foundation enthaltene Standardgestaltungsvorlage enthält eine Instanz der SPWebPartManager-Klasse, sodass dieses Steuerelement automatisch in allen SharePoint Foundation-Inhaltsseiten enthalten ist.

Entsprechend wird auf einer Webparts-Seite für eine SharePoint Foundation-Website ebenfalls eine SharePoint Foundation-spezifische WebPartZone-Klasse verwendet, die von der ASP.NET-Klasse WebPartZone erbt

Situationen, in denen eine Ableitung von der SharePoint-WebPart-Klasse notwendig ist

In einigen wenigen Fällen kann es notwendig sein, Webparts mit Unterstützung für SharePoint Foundation-Features zu erstellen, die in der ASP.NET-Webpartinfrastruktur nicht verfügbar sind. In diesen Situationen können Sie eine Klasse erstellen, die von der SharePoint-Basisklasse WebPart erbt. Derartige Webparts werden als SharePoint-basierte Webparts bezeichnet und können nur in SharePoint Foundation-Websites verwendet werden.

In der folgenden Liste sind die Features aufgeführt, die ausschließlich von der SharePoint-Klasse WebPart bereitgestellt werden:

  • Seitenübergreifende Verbindungen

  • Verbindungen zwischen Webparts, die sich außerhalb einer Webpartzone befinden

  • Clientseitige Verbindungen (Web Part Page Services Component, WPSC)

  • Eine Infrastruktur für das Zwischenspeichern von Daten, die die Zwischenspeicherung in der Inhaltsdatenbank ermöglicht

Ein weiterer Grund, die Ableitung von der WebPart-Klasse in Erwägung zu ziehen, hängt mit dem Erstellen neuer Versionen Ihrer Webparts zusammen. Wenn das ursprüngliche Webpart von der WebPart-Klasse abgeleitet wurde und Sie für Instanzen dieses Webparts ein Upgrade auf einen neue Version durchführen möchten, sollte die neue Version des Webparts ebenfalls von der SharePoint-Klasse WebPart abgeleitet sein.

Siehe auch

Referenz

Microsoft.SharePoint.WebPartPages

Weitere Ressourcen

Web Parts Overview

Developing Web Parts in Windows SharePoint Services

Übersicht über die Gruppe der Webparts-Steuerelemente