Returns the site that is located at the specified server-relative or site-relative URL.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in microsoft.sharepoint.dll)
Visual Basic (Declaration)
Public Function OpenWeb ( _
strUrl As String _
) As SPWeb
Dim instance As SPSite
Dim strUrl As String
Dim returnValue As SPWeb
returnValue = instance.OpenWeb(strUrl)
public SPWeb OpenWeb (
string strUrl
)
Parameters
- strUrl
A string that contains either the server-relative or site-relative URL of the site. A server-relative URL begins with a forward slash ("/"), while a site-relative URL does not begin with a forward slash.
Return Value
An SPWeb object that represents the site.
If a site-relative URL is passed to the OpenWeb method, the URL is relative to the highest-level site that is represented in the URL that is passed to an SPSite constructor. For example, assume that the following sites exist in the Windows SharePoint Services deployment:
The following table shows the results of passing various URLs to an SPSite constructor and the OpenWeb method.
SPSite Constructor | OpenWeb Method | Site Returned |
|---|
http://Server/Folder/File | There is no parameter (OpenWeb method overload) | http://Server |
http://Server/Subsite1/Subsite2/Folder/File | There is no parameter (OpenWeb method overload) | http://Server/Subsite1/Subsite2 |
http://Server/Subsite1/Subsite2/Folder/File | / | http://Server |
http://Server/Subsite1/Subsite2/Folder/File | /Subsite1 | http://Server/Subsite1 |
http://Server/Folder/File | Subsite1/Subsite2 | http://Server/Subsite1/Subsite2 |
http://Server/Folder/File | /SiteCollection/Subsite3 | Error: There is no site named /SiteCollection/Subsite3 |
http://Server/Folder/File | /Subsite4 | Error: There is no site named /Subsite4 |
http://Server/sites/SiteCollection/Subsite3/Folder/File | No parameter (OpenWeb method overload) | http://Server/sites/SiteCollection/Subsite3 |
http://Server/sites/SiteCollection/Folder/File | /sites/SiteCollection/Subsite3 | http://Server/sites/SiteCollection/Subsite3 |
http://Server/sites/SiteCollection/Folder/File | Subsite3 | http://Server/sites/SiteCollection/Subsite3 |
http://Server/sites/SiteCollection/Folder/File | / | Error: Invalid URL |
http://Server/sites/SiteCollection/Subsite3/Folder/File | /sites/SiteCollection | http://Server/sites/SiteCollection |
For information about the forms of URLs that are used in Windows SharePoint Services, see Forms of URL Strings.
The following code example displays the URL for a specified Web site in a console application using a site-relative URL for the OpenWeb method. The example assumes the existence of a Web site located at http://MyServer/MyWebSite/MySubSite.
Dim strUrl As String = "http://MyServer/MyWebSite/Lists/Announcements/AllItems.aspx"
Using oSiteCollection As New SPSite(strUrl)
Using oWebsite As SPWeb = oSiteCollection.OpenWeb("MyWebSite/MySubSite")
Console.WriteLine(("Website: " + oWebsite.Url))
End Using
End Using
string strUrl = "http://MyServer/MyWebSite/Lists/Announcements/AllItems.aspx";
using (SPSite oSiteCollection = new SPSite(strUrl))
{
using(SPWeb oWebsite = oSiteCollection.OpenWeb("MyWebSite/MySubSite"))
{
Console.WriteLine("Website: " + oWebsite.Url);
}
}