Infrastructure de composant WebPart dans SharePoint Foundation
Dernière modification : mercredi 14 avril 2010
S’applique à : SharePoint Foundation 2010
Les composants WebPart sont des contrôles du côté serveur qui s’exécutent dans le contexte de pages de site Microsoft SharePoint Foundation. Vous pouvez les utiliser pour personnaliser l’interface utilisateur et pour modifier le contenu d’une page de site. SharePoint Foundation inclut des composants WebPart par défaut ainsi que la possibilité de créer des composants WebPart personnalisés. Deux types de composants WebPart sont pris en charge dans SharePoint Foundation. Il s’agit des composants WebPart SharePoint et des composants WebPart ASP.NET. Les composants WebPart ASP.NET utilisent la classe de base System.Web.UI.WebControls.WebParts.WebPart, tandis que les composants WebPart SharePoint utilisent la classe de base Microsoft.SharePoint.WebPartPages.WebPart. Les deux types de composants sont pris en charge, mais les composants WebPart ASP.NET sont recommandés pour tous les nouveaux projets.
Modèle objet pour les composants WebPart
Les composants WebPart de SharePoint Foundation sont basés sur l’infrastructure de composants WebPart Microsoft ASP.NET. Pour créer des composants WebPart pour des applications ciblant SharePoint Foundation, vous devez créer des composants WebPart personnalisés basés sur l’infrastructure de composants WebPart ASP.NET. Cependant, dans des cas très peu nombreux, il peut être nécessaire de créer des composants WebPart prenant en charge des fonctionnalités SharePoint Foundation qui ne sont pas disponibles dans l’infrastructure de composants WebPart ASP.NET.
Composants WebPart ASP.NET
L’infrastructure de composants WebPart ASP.NET est basée sur une classe WebPartManager qui gère la durée de vie des instances des composants WebPart lors de l’exécution.
Chaque page ASP.NET utilisant des contrôles de composants WebPart doit contenir les objets suivants pour pouvoir prendre en charge la personnalisation :
Un objet WebPartManager qui fait le suivi des composants WebPart qui ont été ajoutés à chaque zone particulière, et qui stocke et récupère des données sur la façon dont chaque composant WebPart a été personnalisé.
Un ou plusieurs objets WebPartZone, dans lequel les composants WebPart sont placés.
Pour exécuter des composants WebPart SharePoint Foundation dans une application ASP.NET, vous devez créer une page .aspx contenant exactement une instance du contrôle WebPartManager et un ou plusieurs contrôles WebPartZone. Le WebPartManager est responsable de la sérialisation des données relatives aux composants WebPart, ainsi que du stockage et de la récupération de ces données dans la base de données.
Les contrôles SPWebPartManager et WebPartZone gèrent la sérialisation des données associées aux composants WebPart dans la base de données de contenu SharePoint Foundation appropriée. Pour pouvoir conserver vos données, vos composants WebPart ASP.NET doivent être placés sur une page avec ces deux contrôles.
Comme ces contrôles spécifiques à SharePoint Foundation sont requis sur des pages contenant des composants WebPart, vous ne pouvez pas simplement copier votre page ASP.NET dans un site SharePoint Foundation. Pour déplacer des composants WebPart ASP.NET d’une application ASP.NET vers une application SharePoint Foundation, exportez-les d’abord depuis ASP.NET en tant que fichiers .webpart puis importez-les dans un site SharePoint Foundation.
Composants WebPart SharePoint
L’infrastructure de composants WebPart SharePoint Foundation utilise de nombreux contrôles du jeu de composants WebPart ASP.NET, et introduit plusieurs de ses propres contrôles qui héritent des classes de base fournies par le jeu de composants WebPart ASP.NET.
Par exemple, les pages de site pour un site SharePoint Foundation n’utilisent pas la classe WebPartManager ASP.NET standard. Au lieu de cela, elles utilisent la classe SPWebPartManager spécifique à SharePoint Foundation qui hérite du WebPartManager ASP.NET.
Notes
La page maître par défaut qui est fournie avec SharePoint Foundation inclut une instance de la classe SPWebPartManager : ce contrôle est donc automatiquement inclus avec toutes vos pages de contenu SharePoint Foundation.
De façon similaire, une Page de composants WebPart pour un site Web SharePoint Foundation utilise aussi une classe WebPartZone spécifique à SharePoint Foundation qui hérite de la classe WebPartZone ASP.NET.
Quand dériver de la classe SharePoint WebPart
Dans de très rares cas, il peut être nécessaire de créer des composants WebPart prenant en charge des fonctionnalités de SharePoint Foundation qui ne sont pas disponibles dans l’infrastructure de composants WebPart ASP.NET. Dans ces cas-là, vous pouvez créer une classe qui hérite de la classe de base SharePoint WebPart. Ces types de composants WebPart, appelés composants WebPart SharePoint ne peuvent être utilisés que dans des sites SharePoint Foundation.
Voici la liste des fonctionnalités offertes exclusivement par la classe SharePoint WebPart :
Connexions entre pages
Connexions entre les composants WebPart qui sont en dehors d'une zone de composant WebPart
Connexions côté client (Composant Services Page de composants WebPart)
Infrastructure de mise en cache de données permettant la mise en cache dans la base de données de contenu
Une autre raison pour laquelle vous pouvez envisager de dériver de la classe WebPart est liée à la création des nouvelles versions de vos composants WebPart. En effet, si votre composant WebPart initial est dérivé de la classe WebPart, et si vous souhaitez mettre à niveau des instances de ce composant WebPart vers une nouvelle version, la nouvelle version de ce composant devra également dériver de la classe WebPart.
Voir aussi
Référence
Microsoft.SharePoint.WebPartPages
Autres ressources
Vue d'ensemble des composants WebPart
Développement de composants WebPart dans Windows SharePoint Services