SPContext class

Representa o contexto de uma solicitação HTTP em Microsoft SharePoint Foundation.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.SPContext

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

Syntax

'Declaração
Public NotInheritable Class SPContext
'Uso
Dim instance As SPContext
public sealed class SPContext

Comentários

Use a classe SPContext para retornar informações de contexto sobre esses objetos como aplicativo da Web atual, conjunto de sites, site, lista ou item da lista.

Examples

Os exemplos a seguir ilustram como usar as propriedades da classe SPContext para retornar a lista atual, o site e o conjunto 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;

Converta o valor da propriedade Item como um objeto de SPListItem para retornar o item atual da lista, da seguinte maneira:

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

Os exemplos seguintes usam propriedades SPContext para abrir um site no conjunto de sites atual e retornar o usuário atual.

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

O exemplo a seguir usa a classe SPContext para executar uma consulta no site atual para casos em que as IDs de item são superiores a 100. Ele grava os resultados em um arquivo no servidor. Este exemplo requer diretivas de using (Imports no Visual Basic) para os namespaces System.Data e 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");

O exemplo anterior instancia um objeto SPSiteDataQuery e atribui uma seqüência de caracteres Collaborative Application Markup Language (CAML) a sua propriedade Query . Essa seqüência de caracteres define a consulta (consulte Query Schema). O método GetSiteData() retorna um objeto de System.Data.DataTable , cujo conteúdo é gravado como um arquivo XML.

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

SPContext members

Microsoft.SharePoint namespace