Export (0) Print
Expand All

PublishingWeb.GetPublishingWebs Method

Returns child PublishingWeb objects immediately below this PublishingWeb object.

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

public PublishingWebCollection GetPublishingWebs()

Return Value

Type: Microsoft.SharePoint.Publishing.PublishingWebCollection
A PublishingWebCollection collection with all child PublishingWeb objects immediately below this PublishingWeb.

All PublishingWeb instances in this collection should be closed by the caller using the SPWeb.Close method.

This method creates a new PublishingWeb below the root Web site of a PublishingSite.

The SPSite that is passed in should be a site that supports the Publishing feature.

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 )
        {
// 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 example values provided.
    newWeb = publishingWebs.Add(
        yourWebUrlName,
        rootWeb.Language,   // Replace with your language value.
        webTemplate.Name ); // 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();
    }
}

        }
    }
}
Show:
© 2014 Microsoft