Clase SPContext
Representa el contexto de una solicitud HTTP en Microsoft SharePoint Foundation.
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.SPContext
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public NotInheritable Class SPContext
'Uso
Dim instance As SPContext
public sealed class SPContext
Comentarios
Utilice la clase SPContext para devolver información de contexto sobre dichos objetos como aplicación Web actual, colección de sitios, sitio, lista o elemento de lista.
Ejemplos
Los siguientes ejemplos ilustran cómo usar las propiedades de la clase SPContext para devolver la lista actual, sitio y colección de sitios.
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;
Convierte el valor de la propiedad Item como un objeto SPListItem para devolver el elemento de lista actual, como se indica a continuación:
SPListItem item = (SPListItem)SPContext.Current.Item;
Los siguientes ejemplos utilizan las propiedades SPContext para abrir un sitio Web en la colección de sitios actual y devolver el usuario actual.
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;
}
En el siguiente ejemplo, se usa la clase SPContext para realizar una consulta en el sitio actual para casos en que sean mayores que 100 identificadores de elementos. Escribe los resultados en un archivo en el servidor. En este ejemplo se requieren using directivas (Imports en Visual Basic) para los espacios de nombres System.Data y 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");
El ejemplo anterior se crea una instancia de un objeto SPSiteDataQuery y asigna una cadena en Collaborative Application Markup Language (CAML) a su propiedad Query . Esta cadena define la consulta (consulte Query Schema). El método GetSiteData() devuelve un objeto System.Data.DataTable cuyo contenido se escribe como un archivo XML.
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.