PublishingWeb.DefaultPage PublishingWeb.DefaultPage PublishingWeb.DefaultPage Property

Definition

Gets and sets the Welcome page for this PublishingWeb object.

public:
 property Microsoft::SharePoint::SPFile ^ DefaultPage { Microsoft::SharePoint::SPFile ^ get(); void set(Microsoft::SharePoint::SPFile ^ value); };
public Microsoft.SharePoint.SPFile DefaultPage { get; set; }
Public Property DefaultPage As SPFile
Property Value

The SPFile instance that is used as the Welcome page for this PublishingWeb object.

Exceptions

Examples

<p>This example demonstrates setting and saving property values on a publishing Web. Before building and running this example, verify that Publishing feature has been enabled for the <strong>SPWeb</strong>, and that the <strong>defaultPageFileId</strong> is <strong>SPFile.UniqueId</strong> for the new default page.</p>
<pre><code>using SPContentTypeId = Microsoft.SharePoint.SPContentTypeId;

using SPContentType = Microsoft.SharePoint.SPContentType; using SPSite = Microsoft.SharePoint.SPSite; using SPFile = Microsoft.SharePoint.SPFile; using SPWeb = Microsoft.SharePoint.SPWeb; using PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite; using PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb; using PageLayoutCollection = Microsoft.SharePoint.Publishing.PageLayoutCollection; using PageLayout = Microsoft.SharePoint.Publishing.PageLayout;

namespace Microsoft.SDK.SharePointServer.Samples { public static class PublishingWebCodeSamples { public static void SetPublishingWebProperties(SPWeb web, System.Guid defaultPageFileId) { // Replace these variable values and input parameters // with your own values. string newTitle = "your Title"; // new PublishingWeb.Title value string newDescription = "your Description"; // new PublishingWeb.Description value bool resetInheritPageLayouts = true; // new PublishingWeb.IsInheritingAvailablePageLayouts value bool resetInheritWebTemplates = true; // new PublishingWeb.IsInheritingAvailableWebTemplates value

// Validate the input parameters. if (null == web) { throw new System.ArgumentNullException("web"); }

// Get the PublishingWeb wrapper for the SPWeb // that was passed in. PublishingWeb publishingWeb = null; if (PublishingWeb.IsPublishingWeb(web)) { publishingWeb = PublishingWeb.GetPublishingWeb(web); } else { throw new System.ArgumentException("The SPWeb must be a PublishingWeb", "web"); }

// Retrieve the SPFile. SPFile newDefaultPageFile = publishingWeb.Web.GetFile(defaultPageFileId); if( (null == newDefaultPageFile) || !newDefaultPageFile.Exists ) { throw new System.ArgumentException( "The Guid does not match an SPFile on the SPWeb", "defaultPageFileId"); }

// Set new values on the PublishingWeb. publishingWeb.Title = newTitle; publishingWeb.Description = newDescription; publishingWeb.DefaultPage = newDefaultPageFile; if( resetInheritPageLayouts &amp;&amp; !publishingWeb.IsInheritingAvailablePageLayouts &amp;&amp; !publishingWeb.IsRoot) { publishingWeb.InheritAvailablePageLayouts(); System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailablePageLayouts); } if (resetInheritWebTemplates &amp;&amp; !publishingWeb.IsInheritingAvailableWebTemplates &amp;&amp; !publishingWeb.IsRoot) { publishingWeb.InheritAvailableWebTemplates(); System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailableWebTemplates); }

// Save the new values on the PublishingWeb. publishingWeb.Update(); } } }

Imports SPContentTypeId = Microsoft.SharePoint.SPContentTypeId
Imports SPContentType = Microsoft.SharePoint.SPContentType
Imports SPSite = Microsoft.SharePoint.SPSite
Imports SPFile = Microsoft.SharePoint.SPFile
Imports SPWeb = Microsoft.SharePoint.SPWeb
Imports PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite
Imports PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb
Imports PageLayoutCollection = Microsoft.SharePoint.Publishing.PageLayoutCollection
Imports PageLayout = Microsoft.SharePoint.Publishing.PageLayout

Namespace Microsoft.SDK.SharePointServer.Samples
    Public NotInheritable Class PublishingWebCodeSamples
        Private Sub New()
        End Sub
        Public Shared Sub SetPublishingWebProperties(ByVal web As SPWeb, ByVal defaultPageFileId As System.Guid)
' Replace these variable values and input parameters
' with your own values.
Dim newTitle As String = "your Title" ' new PublishingWeb.Title value
Dim newDescription As String = "your Description" ' new PublishingWeb.Description value
Dim resetInheritPageLayouts As Boolean = True ' new PublishingWeb.IsInheritingAvailablePageLayouts value
Dim resetInheritWebTemplates As Boolean = True ' new PublishingWeb.IsInheritingAvailableWebTemplates value

' Validate the input parameters.
If Nothing Is web Then
    Throw New System.ArgumentNullException("web")
End If

' Get the PublishingWeb wrapper for the SPWeb 
' that was passed in.
Dim publishingWeb As PublishingWeb = Nothing
If PublishingWeb.IsPublishingWeb(web) Then
    publishingWeb = PublishingWeb.GetPublishingWeb(web)
Else
    Throw New System.ArgumentException("The SPWeb must be a PublishingWeb", "web")
End If

'  Retrieve the SPFile.
Dim newDefaultPageFile As SPFile = publishingWeb.Web.GetFile(defaultPageFileId)
If (Nothing Is newDefaultPageFile) OrElse (Not newDefaultPageFile.Exists) Then
    Throw New System.ArgumentException("The Guid does not match an SPFile on the SPWeb", "defaultPageFileId")
End If

' Set new values on the PublishingWeb.
publishingWeb.Title = newTitle
publishingWeb.Description = newDescription
publishingWeb.DefaultPage = newDefaultPageFile
If resetInheritPageLayouts AndAlso (Not publishingWeb.IsInheritingAvailablePageLayouts) AndAlso (Not publishingWeb.IsRoot) Then
    publishingWeb.InheritAvailablePageLayouts()
    System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailablePageLayouts)
End If
If resetInheritWebTemplates AndAlso (Not publishingWeb.IsInheritingAvailableWebTemplates) AndAlso (Not publishingWeb.IsRoot) Then
    publishingWeb.InheritAvailableWebTemplates()
    System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailableWebTemplates)
End If

' Save the new values on the PublishingWeb.
publishingWeb.Update()
        End Sub
    End Class
End Namespace

Remarks

This property can only be set to an instance of the SPFile object within the current PublishingWeb. An instance of the SPFile object is returned rather than a PublishingPage object because the Welcome page might not be an instance of the PublishingPage class. Use the IsPublishingPage(SPListItem) method to verify whether this SPFile is a PublishingPage.

This property may return a a null reference (Nothing in Visual Basic) value if a default page has not been explicitly set.

To save changes after setting this property, call the Update() method.

Applies to