SPWeb - Classe
Représente un site Web SharePoint Foundation .
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.SPSecurableObject
Microsoft.SharePoint.SPWeb
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Class SPWeb _
Inherits SPSecurableObject _
Implements IDisposable
'Utilisation
Dim instance As SPWeb
public class SPWeb : SPSecurableObject, IDisposable
Remarques
De nombreuses méthodes et propriétés dans l'espace de noms Microsoft.SharePoint peuvent renvoyer à un site Web unique. Vous pouvez utiliser la propriété Webs de la classe SPWeb pour renvoyer tous les sites enfants immédiats sous un site Web, à l'exclusion des enfants de ces sites Web enfants. Vous pouvez également utiliser la propriété AllWebs de la classe SPSite pour renvoyer tous les sites Web au sein de la collection de sites ; ou utilisez la méthode GetSubwebsForCurrentUser de SPWeb pour renvoyer tous les sites Web pour l'utilisateur actuel.
Pour renvoyer un site Web à partir de la collection, utilisez un indexeur. Par exemple, si la collection est assignée à une variable nommée collWebSites, utilisez collWebSites[index] dans C# ou collWebSites(index) dans Visual Basic, où index est le numéro d'index du site dans la collection, le nom complet du site Web, ou le GUID pour le site.
Exemples
Utilisez la propriété Web de la classe SPContext pour renvoyer un objet SPWeb qui représente le site Web en cours, comme suit :
Dim oWebsite As SPWeb = SPContext.Current.Web
SPWeb oWebsite = SPContext.Current.Web;
Pour restaurer le site Web de niveau supérieur pour la collection de sites, vous pouvez utiliser la propriété Site() de la classe SPContext et la propriété RootWeb de la classe SPSite comme suit :
Using oWebsiteRoot As SPWeb = SPContext.Current.Site.RootWeb
...
End Using
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
{
...
}
Pour revenir à un site Web spécifique, vous pouvez utiliser la méthode OpenWeb de la classe SPSite comme suit.
Using oWebsite As SPWeb = SPContext.Current.Site.OpenWeb("Website_URL")
...
End Using
using(SPWeb oWebsite = SPContext.Current.Site.OpenWeb("Website_URL"))
{
...
}
Vous pouvez également utiliser le constructeur SPSite pour instancier une collection de sites et ensuite utiliser un des membres de la classe SPSite , qui a été mentionnés précédemment, pour renvoyer le site de niveau supérieur ou d'un sous-site comme suit :
Using oSiteCollection As New SPSite("http://Server_Name")
Using oWebsite As SPWeb = oSiteCollection.OpenWeb("Website_URL")
Using oWebsiteRoot As SPWeb = oSiteCollection.RootWeb
...
End Using
End Using
End Using
using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
using(SPWeb oWebsite = oSiteCollection.OpenWeb("Website_URL"))
{
using(SPWeb oWebsiteRoot = oSiteCollection.RootWeb)
{
...
}
}
}
Si vous obtenez un objet SPWeb en appelant des membres tels que ceux illustrés dans les exemples de code précédents, la meilleure pratique consiste à implémenter la méthode Dispose pour supprimer l'objet ou l'instruction using . Toutefois, si vous avez une référence à une ressource partagée, comme lorsque vous obtenez l'objet de site Web à partir de l'objet SPContext dans un composant WebPart à l'aide de SPContext.Current.Web, n'utilisez pas deux méthodes pour fermer l'objet. À l'aide d'une des méthodes suivantes sur une ressource partagée provoque une erreur de violation d'accès se produise. Dans les scénarios où vous avez une référence à une ressource partagée, permettent de Microsoft SharePoint Foundation ou de votre application portail gérer l'objet à la place. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.
Cohérence de thread
Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.