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.