PublishingWeb.GetPublishingWebs Method
SharePoint 2007
Returns child PublishingWeb objects immediately below this PublishingWeb object.
Namespace: Microsoft.SharePoint.Publishing
Assembly: Microsoft.SharePoint.Publishing (in microsoft.sharepoint.publishing.dll)
Assembly: Microsoft.SharePoint.Publishing (in microsoft.sharepoint.publishing.dll)
Return Value
A PublishingWebCollection collection with all child PublishingWeb objects immediately below this PublishingWeb.This method creates a new PublishingWeb below the root Web of a PublishingSite.
The SPSite that is passed in should be a site that supports the Publishing feature.
[c#]
using SPSite = Microsoft.SharePoint.SPSite;
using PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite;
using SPWeb = Microsoft.SharePoint.SPWeb;
using PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb;
using PublishingWebCollection = Microsoft.SharePoint.Publishing.PublishingWebCollection;
using SPWebTemplate = Microsoft.SharePoint.SPWebTemplate;
namespace Microsoft.SDK.SharePointServer.Samples
{
public static class PublishingWebCollectionCodeSamples
{
public static void CreatePublishingWebBelowRoot( SPSite site, SPWebTemplate webTemplate )
{
// TODO: Replace these variable values and input parameters with
// your own values.
string yourWebUrlName = "yourWebUrl"; // your web URL name for the PublishingWeb to create
PublishingWeb newWeb = null;
try
{
// Validate the input parameters.
if (null == site)
{
throw new System.ArgumentNullException("site");
}
if (null == webTemplate)
{
throw new System.ArgumentNullException("webTemplate");
}
PublishingSite publishingSite = null;
if (!PublishingSite.IsPublishingSite(site))
{
throw new System.ArgumentException(
"The SPSite is expected to be a PublishingSite",
"site");
}
publishingSite = new PublishingSite( site );
SPWeb rootWeb = publishingSite.RootWeb;
if( !PublishingWeb.IsPublishingWeb( rootWeb ))
{
throw new System.ArgumentException(
"The SPSite.RootWeb is expected to be a PublishingWeb",
"site");
}
PublishingWeb rootPublishingWeb = PublishingWeb.GetPublishingWeb( rootWeb );
PublishingWebCollection publishingWebs = rootPublishingWeb.GetPublishingWebs();
// Create the new PublishingWeb using the sample values provided.
newWeb = publishingWebs.Add(
yourWebUrlName,
rootWeb.Language, // TODO: Replace with your language value.
webTemplate.Name ); // TODO: Replace with your Web template name.
// The Publishing feature is active for the new PublishingWeb.
System.Diagnostics.Debug.Assert(
null != newWeb.Web.Features[Microsoft.SharePoint.Publishing.FeatureIds.Publishing]);
}
finally
{
// Always close the SPWeb when done to release memory.
//
if( null != newWeb )
{
newWeb.Web.Close();
}
}
}
}
}