Clase SPWeb

Representa un sitio Web de SharePoint Foundation .

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.SPSecurableObject
    Microsoft.SharePoint.SPWeb

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Class SPWeb _
    Inherits SPSecurableObject _
    Implements IDisposable
'Uso
Dim instance As SPWeb
public class SPWeb : SPSecurableObject, IDisposable

Comentarios

Muchos métodos y propiedades del espacio de nombres Microsoft.SharePoint pueden devolver un solo sitio Web. Puede usar la propiedad Webs de la clase SPWeb para devolver todos los sitios Web secundarios inmediatos por debajo de un sitio Web, sin incluir a los elementos secundarios de esos sitios Web secundarios. También puede usar la propiedad AllWebs de la clase SPSite para devolver todos los sitios Web dentro de la colección de sitios; o bien, utilice el método GetSubwebsForCurrentUser de SPWeb para devolver todos los sitios Web para el usuario actual.

Utilice un indizador para devolver un solo sitio Web de la colección. Por ejemplo, si la colección se asigna a una variable denominada collWebSites, use collWebSites[index] en C# o collWebSites(index) en Visual Basic, donde index es el número de índice del sitio en la colección, el nombre para mostrar del sitio Web o el GUID para el sitio.

Ejemplos

Utilice la propiedad Web de la clase SPContext para devolver un objeto SPWeb que representa el sitio Web actual, como se indica a continuación:

Dim oWebsite As SPWeb = SPContext.Current.Web
SPWeb oWebsite = SPContext.Current.Web;

Para devolver el sitio Web de nivel superior de la colección de sitios, puede usar la propiedad Site() de la clase SPContext y la propiedad RootWeb de la clase SPSite como sigue:

Using oWebsiteRoot As SPWeb = SPContext.Current.Site.RootWeb
    ...
End Using
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
{
    ...
}

Para devolver un sitio Web específico, puede utilizar el método OpenWeb de la clase SPSite de la siguiente manera.

Using oWebsite As SPWeb = SPContext.Current.Site.OpenWeb("Website_URL")
    ...
End Using
using(SPWeb oWebsite = SPContext.Current.Site.OpenWeb("Website_URL"))
{
    ...
}

Puede usar también el constructor SPSite para crear una instancia de una colección de sitios y, a continuación, use uno de los miembros de la clase SPSite , que se mencionaron anteriormente, para devolver el sitio de nivel superior o un subsitio como sigue:

Using oSiteCollection As New SPSite("http://Server_Name")
    Using oWebsite As SPWeb = oSiteCollection.OpenWeb("Website_URL")
        Using oWebsiteRoot As SPWeb = oSiteCollection.RootWeb
            ...
        End Using
    End Using 
End Using
using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
    using(SPWeb oWebsite = oSiteCollection.OpenWeb("Website_URL"))
    {
        using(SPWeb oWebsiteRoot = oSiteCollection.RootWeb)
        {
           ...
        }
    }
}

Si obtiene un objeto SPWeb llamando a los miembros como las muestra en los ejemplos de código anterior, el procedimiento recomendado es implementar la instrucción using o el método Dispose para eliminar el objeto. Sin embargo, si tiene una referencia a un recurso compartido, por ejemplo, cuando se obtiene el objeto de sitio Web desde el objeto SPContext en un elemento Web mediante el uso de SPContext.Current.Web, no use cualquiera de los métodos para cerrar el objeto. Usar cualquiera de estos métodos en un recurso compartido, produce un error de infracción de acceso que se produzca. En escenarios donde se encuentra una referencia a un recurso compartido, let Microsoft SharePoint Foundation o la aplicación de portal de administrar el objeto en su lugar. Para obtener más información acerca de buenas prácticas de codificación, vea Disposing Objects.

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.

Vea también

Referencia

Miembros SPWeb

Espacio de nombres Microsoft.SharePoint