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 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();
                }
            }

        }
    }
}

Community Additions

ADD
Show:
© 2014 Microsoft