Класс SPWeb

Представляет веб-узел SharePoint Foundation .

Иерархия наследования

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

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Class SPWeb _
    Inherits SPSecurableObject _
    Implements IDisposable
'Применение
Dim instance As SPWeb
public class SPWeb : SPSecurableObject, IDisposable

Замечания

Многие методы и свойства в пространстве имен Microsoft.SharePoint может возвращать один веб-сайт. Свойство Webs класса SPWeb для возврата всех непосредственных дочерних веб-узлов под веб-сайта, включая дочерние элементы этих дочерних веб-узлов. Можно также использовать свойство AllWebs класса SPSite для возврата всех веб-сайтов в семействе веб-сайтов; или используйте GetSubwebsForCurrentUser метод SPWeb для возврата всех веб-сайтов для текущего пользователя.

Для возвращения из коллекции одного веб-сайта с помощью индексатора. Например если коллекция присваивается переменной с именем collWebSites, используйтеindexcollWebSites[] в C# илиindexcollWebSites() в Visual Basic, где index — номер узла в коллекции, отображаемое имя или идентификатор GUID веб-сайта для веб-узла.

Примеры

Используйте свойство Web класса SPContext для возврата объекта SPWeb , который представляет текущий веб-узел, как показано ниже:

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

Чтобы вернуться на веб-узел верхнего уровня для семейства веб-сайтов, можно следующим образом использовать свойство Site() класса SPContext и свойство RootWeb класса SPSite :

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

Для возвращения определенного веб-узла, можно использовать метод OpenWeb класса SPSite следующим образом.

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

Можно также использовать конструктор SPSite для создания семейства веб-сайтов и затем воспользуйтесь одним из членов класса SPSite , которые были уже упоминалось ранее, для возвращения узла верхнего уровня или дочернего узла следующим образом:

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

Если получить объект SPWeb путем обращения к членам таких как было показано в предыдущих примерах кода, рекомендуется реализовать метод Dispose для удаления объекта или оператора using . Тем не менее если у вас есть ссылка на общий ресурс, например при получении объекта веб-узла из объекта SPContext в веб-части с помощью SPContext.Current.Web, не используйте любой из этих методов для закрытия объекта. Использование любого из этих методов для общего ресурса вызывает ошибку нарушения прав доступа. В сценариях, где содержится ссылка на общий ресурс, пусть Microsoft SharePoint Foundation или приложение портала вместо управление объектом. Дополнительные сведения о рекомендованные методы программирования Disposing Objectsсм.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPWeb

Пространство имен Microsoft.SharePoint