SPContext - Classe

Représente le contexte d'une demande HTTP dans Microsoft SharePoint Foundation.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.SPContext

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public NotInheritable Class SPContext
'Utilisation
Dim instance As SPContext
public sealed class SPContext

Remarques

Utilisez la classe SPContext pour renvoyer des informations de contexte à propos des objets tels que l'application Web en cours, un collection de sites, un site, une liste ou un élément de la liste.

Exemples

Les exemples suivants illustrent comment utiliser les propriétés de la classe SPContext pour renvoyer la liste actuelle, un site et une collection de sites.

Dim currentList As SPList = SPContext.Current.List
Dim currentSite As SPWeb = SPContext.Current.Web
Dim currentSiteCollection As SPSite = SPContext.Current.Site
Dim currentWebApplication As SPWebApplication = SPContext.Current.Site.WebApplication

[C#]

SPList oListCur = SPContext.Current.List;
SPWeb oWeb = SPContext.Current.Web;
SPSite oSite = SPContext.Current.Site;
SPWebApplication oWebApplicationCur = SPContext.Current.Site.WebApplication;

Effectuez un cast de la valeur de la propriété Item en tant qu'objet SPListItem pour renvoyer l'élément de liste actuel, comme suit :

SPListItem item = (SPListItem)SPContext.Current.Item;

Les exemples suivants utilisent des propriétés de SPContext pour ouvrir un site Web dans la collection de sites en cours et de renvoyer l'utilisateur en cours.

Dim site As SPWeb = SPContext.Current.Site.OpenWeb(guid)
Dim user As SPUser = SPContext.Current.Web.CurrentUser

[C#]

using(SPWeb oWeb = SPContext.Current.Site.OpenWeb(guidWebsite))
{
    SPUser oUser = SPContext.Current.Web.CurrentUser;
}

L'exemple suivant utilise la classe SPContext pour effectuer une requête sur le site actuel, dans le cas où les ID d'élément sont supérieures à 100. Il écrit les résultats dans un fichier sur le serveur. Cet exemple requiert les directives using (Imports dans Visual Basic) pour les espaces de noms System.Data et Microsoft.SharePoint .

Dim siteQuery As New SPSiteDataQuery()
siteQuery.Query = "<Where><Gt><FieldRef Name=""ID"" />" + "<Value Type = ""Number"">100</Value></Gt></Where>"
siteQuery.ViewFields = "<FieldRef Name=""Title""/>"
Dim queryResults As DataTable = SPContext.Current.Web.GetSiteData(siteQuery)
queryResults.TableName = "queryTable"
queryResults.WriteXml("C:\queryTable.xml")

[C#]

SPSiteDataQuery oSiteQuery = new SPSiteDataQuery();
oSiteQuery.Query = "<Where><Gt><FieldRef Name=\"ID\" />" +
    "<Value Type = \"Number\">100</Value></Gt></Where>";
oSiteQuery.ViewFields = "<FieldRef Name=\"Title\"/>";
DataTable oQueryResults = SPContext.Current.Web.GetSiteData(oSiteQuery);
oQueryResults.TableName = "queryTable";
oQueryResults.WriteXml("C:\\queryTable.xml");

L'exemple précédent instancie un objet SPSiteDataQuery et assigne une chaîne de Collaborative Application Markup Language (CAML) à sa propriété Query . Cette chaîne définit la requête (voir Query Schema). La méthode GetSiteData() renvoie un objet System.Data.DataTable dont le contenu est écrit sous la forme d'un fichier XML.

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.

Voir aussi

Référence

SPContext - Membres

Microsoft.SharePoint - Espace de noms