Freigeben über


SPContext-Klasse

Stellt den Kontext einer HTTP-Anforderung in Microsoft SharePoint Foundation.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.SPContext

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public NotInheritable Class SPContext
'Usage
Dim instance As SPContext
public sealed class SPContext

Hinweise

Verwenden Sie die SPContext -Klasse, um Kontextinformationen über Objekte wie der aktuellen Webanwendung, Websitesammlung, Website, Liste oder Listenelement zurückzugeben.

Beispiele

Die folgenden Beispiele veranschaulichen die Eigenschaften der SPContext -Klasse verwenden, um die aktuelle Liste, Standort und Websitesammlung zurück.

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;

Wandelt den Wert der Eigenschaft Item als SPListItem Objekt für das aktuelle Listenelement wie folgt zurück:

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

Die folgenden Beispiele verwenden die SPContext -Eigenschaften in der aktuellen Websitesammlung eine Website öffnen und den aktuellen Benutzer zurückgegeben.

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;
}

Das nächste Beispiel verwendet die SPContext -Klasse auf der aktuellen Website Fällen eine Abfrage ausgeführt, in dem die Arbeitsaufgaben-IDs größer als 100 sind. Es schreibt die Ergebnisse in einer Datei auf dem Server. Dieses Beispiel erfordert using Richtlinien (Imports in Visual Basic) für die Namespaces System.Data und 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");

Im vorherigen Beispiel wird ein SPSiteDataQuery -Objekt instanziiert und weist eine Zeichenfolge in der Collaborative Application Markup Language (CAML) der Query -Eigenschaft. Diese Zeichenfolge definiert die Abfrage (siehe Abfrageschema). Die GetSiteData() -Methode gibt ein System.Data.DataTable -Objekt, dessen Inhalt als XML-Datei geschrieben werden.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

SPContext-Member

Microsoft.SharePoint-Namespace