Класс 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) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.