Share via


PublishingSite.RootWeb Property

Gets the root SPWeb of this PublishingSite object.

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

Syntax

'Declaration
Public ReadOnly Property RootWeb As SPWeb
    Get
'Usage
Dim instance As PublishingSite
Dim value As SPWeb

value = instance.RootWeb
public SPWeb RootWeb { get; }

Property Value

Type: Microsoft.SharePoint.SPWeb
The root SPWeb of this PublishingSite object.

Remarks

This property wraps the RootWeb property.

Examples

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
    {

        // This method creates a new PublishingWeb below the root Web site of a PublishingSite object.
        //
        // Prerequisites:
        // The SPSite passed should be a site that supports publishing.
        //
        // This sample demonstrates use of:
        // PublishingSite.IsPublishingSite( SPSite )
        // PublishingSite constructor
        // PublishingSite.RootWeb
        // PublishingWeb.GetPublishingWebs()
        // PublishingWeb.Web
        // PublishingWebCollection.Add(string, uint, string)
        public static void CreatePublishingWebBelowRoot( SPSite site, SPWebTemplate webTemplate )
        {
            // TODO: Replace these variable values and input parameters with your own values.
            // yourWebURL: name for the PublishingWeb object to create.
            string yourWebUrlName = "yourWebUrl";

            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 object by using the sample values provided.
                //
                newWeb = publishingWebs.Add(
                    yourWebUrlName,
                    rootWeb.Language,   // TODO: Replace with your own language value.
                    webTemplate.Name ); // TODO: Replace with your Web template name.

                // The new PublishingWeb has the Publishing feature active.
                System.Diagnostics.Debug.Assert(
                    null != newWeb.Web.Features[Microsoft.SharePoint.Publishing.FeatureIds.Publishing]);
                               
            }
            finally
            {
                //
                // Always close the SPWeb object when done to release memory.
                //
                if( null != newWeb )
                {
                    newWeb.Web.Close();
                }
            }

        }
    }
}

See Also

Reference

PublishingSite Class

PublishingSite Members

Microsoft.SharePoint.Publishing Namespace

PublishingSite