Baustein: Webparts

Letzte Änderung: Freitag, 9. April 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Objektmodell für Webparts
XML für Webparts
Bereiche im Zusammenhang mit Webparts
Weitere Informationen zu Webparts

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 Website zu bearbeiten. Microsoft SharePoint Foundation enthält Standardwebparts sowie 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.

Die folgenden Abschnitte enthalten eine Übersicht über die verschiedenen Webparttypen und die für diese verwendete XML sowie Links zu ausführlicheren Informationen und exemplarischen Vorgehensweisen.

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 die Webparts 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.

Auf Websiteseiten für eine SharePoint Foundation-Website beispielsweise wird nicht die ASP.NET-Standardklasse WebPartManager verwendet. Stattdessen wird die SharePoint Foundation-spezifische SPWebPartManager-Klasse verwendet, 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.

XML für Webparts

Zum Konfigurieren, Bereitstellen und Sichern von Webparts auf einer Website werden in SharePoint Foundation mehrere XML-Abschnitte verwendet. In diesem Artikel werden nicht alle Teile von XML behandelt, Sie finden jedoch am Ende dieses Themas Links zu relevanten Informationen.

Webpartdefinitionen

Eine Webpart-Definitionsdatei (WEBPART) ist eine einfache XML-Datei, die Eigenschaftseinstellungen für ein einzelnes Webpart enthält. Zum Importieren des Webparts in eine Webpartseite laden Sie einfach die WEBPART-Datei hoch oder fügen das Webpart dem Webpartkatalog hinzu. Nach dem Hochladen des Webparts können Sie dieses anzeigen, indem Sie das Webpart in eine der Zonen der Webpartseite ziehen. Wenn nach dem Import ein Standardname und eine Beschreibung für das Webpart angezeigt werden sollen, müssen Sie die Eigenschaften Title und Description einschließen. Wenn Sie beim Import weitere Webparteigenschaften festlegen möchten, können Sie diese ebenfalls in einer WEBPART-Datei definieren. Eine WEBPART-Datei hat das folgende Format:

<?xml version="1.0" encoding="utf-8" ?> 
  <webParts>
     <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
       <metaData>
         <type name="TypeName, Version=VersionNumber, Culture=neutral, 
         PublicKeyToken=PublicKeyToken" /> 
         <importErrorMessage>Cannot import this Web 
         Part.</importErrorMessage> 
       </metaData>
       <data>
         <properties>
           <property name="Title" type="string">
              WebPartTitle
           </property>
           <property name="Description" type="string">
              WebPartDescription
           </property>
         </properties>
       </data>
     </webPart>
   </webParts>

SafeControl-Einträge

In SharePoint Foundation wird eine SafeControl-Liste bereitgestellt, mit der Sie verhindern können, dass nicht vertrauenswürdige Benutzer auf ASPX-Seiten beliebig serverseitigen Code hinzufügen. Die SafeControls-Liste ist eine Liste mit für Ihre SharePoint-Website spezifischen genehmigten Steuerelementen und Webparts, die Sie so entworfen haben, dass diese auf allen ASPX-Seiten der Website sicher aufgerufen werden können. Diese Liste ist in der Datei web.config im Stamm der Webanwendung enthalten. Bei einem SafeControl-Eintrag handelt es sich um eine XML-basierte Deklaration eines Webparts im folgenden Format:

<SafeControl Assembly="AssemblyNameWithoutDLLExtension, Version=AssemblyVersionNumber, Culture=neutral, PublicKeyToken=PublicKeyToken" Namespace="NamespaceOfYourProject" TypeName="*" Safe="True" />

Weitere Informationen zur Verwendung von Codezugriffssicherheit finden Sie unter Bereitstellen von Webparts in SharePoint Foundation.

Codezugriffssicherheit

Codezugriffssicherheit (Code Access Security, CAS) ist ein Ressourceneinschränkungsmodell in SharePoint Foundation, mit dem der Zugriff einer Assembly auf geschützte Systemressourcen und -vorgänge eingeschränkt wird. SharePoint Foundation enthält Standardsicherheitsrichtlinien, die auf den integrierten Sicherheitsrichtlinien von ASP.NET aufbauen. Standardmäßig wird in SharePoint Foundation ein Satz von Berechtigungen verwendet, mit denen minimaler Zugriff auf Systemressourcen möglich ist. Dadurch sollen der Server und die zugrunde liegende Infrastruktur vor bösartigem Code geschützt werden.

Die für CAS verwendete XML wird in diesem Abschnitt nicht behandelt. Weitere Informationen zum Sichern von Webparts finden Sie unter Absichern von Webparts in SharePoint Foundation.

Bereiche im Zusammenhang mit Webparts

Baustein: Lösungen

Baustein: Features

Weitere Informationen zu Webparts

Webparts in SharePoint Foundation

Developing Web Parts in Windows SharePoint Services