SPContext class
Representa o contexto de uma solicitação HTTP em Microsoft SharePoint Foundation.
System.Object
Microsoft.SharePoint.SPContext
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
'Declaração
Public NotInheritable Class SPContext
'Uso
Dim instance As SPContext
public sealed class SPContext
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.
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.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.