Compartilhar via


SPWeb class

Representa um site SharePoint Foundation .

Inheritance hierarchy

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

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

Syntax

'Declaração
Public Class SPWeb _
    Inherits SPSecurableObject _
    Implements IDisposable
'Uso
Dim instance As SPWeb
public class SPWeb : SPSecurableObject, IDisposable

Comentários

Vários métodos e propriedades no namespace Microsoft.SharePoint podem retornar um único site. Você pode usar a propriedade Webs da classe SPWeb para retornar todos os sites filho imediato sob um site, excluindo filhos desses sites filho. Você também pode usar a propriedade AllWebs da classe SPSite para retornar todos os sites no conjunto de sites; ou, use o método GetSubwebsForCurrentUser de SPWeb para retornar todos os sites para o usuário atual.

Use um indexador para retornar um único site da coleção. Por exemplo, se a coleção for atribuída a uma variável chamada collWebSites, use collWebSites[index] em C# ou deindexde collWebSites() em Visual Basic, onde index é o número de índice do site na coleção, o nome de exibição do site, ou a GUID para o site.

Examples

Use a propriedade Web da classe SPContext para retornar um objeto SPWeb que representa o site atual, da seguinte maneira:

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

Para retornar o site de nível superior do conjunto de sites, você pode usar a propriedade Site() da classe SPContext e a propriedade RootWeb da classe SPSite da seguinte forma:

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

Para retornar a um site específico, você pode usar o método OpenWeb da classe SPSite como a seguir.

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

Você pode também usar o construtor de SPSite para criar uma instância de um conjunto de sites e, em seguida, use um dos membros da classe SPSite , que foram mencionados anteriormente, para retornar ao site de nível superior ou um subsite da seguinte maneira:

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)
        {
           ...
        }
    }
}

Se você obter um objeto SPWeb chamando membros como aqueles demonstrado nos exemplos de código anterior, a melhor prática é implementar a declaração de using ou o Dispose método dispose do objeto. No entanto, se você tem uma referência a um recurso compartilhado, como quando você obter o objeto de site do objeto SPContext em uma Web Part usando o SPContext.Current.Web, não use o método para fechar o objeto. Usar um desses métodos em um recurso compartilhado provoca um erro de violação de acesso ocorre. Em situações onde você tem uma referência a um recurso compartilhado, permitir que Microsoft SharePoint Foundation ou seu aplicativo de portal gerencie o objeto em vez disso. Para obter mais informações sobre boas práticas de codificação, consulte Disposing Objects.

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

SPWeb members

Microsoft.SharePoint namespace