PublishingWeb.DefaultPage Property
Gets and sets the Welcome page for this PublishingWeb object.
Namespace: Microsoft.SharePoint.Publishing
Assembly: Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)
Syntax
'Declaration
Public Property DefaultPage As SPFile
Get
Set
'Usage
Dim instance As PublishingWeb
Dim value As SPFile
value = instance.DefaultPage
instance.DefaultPage = value
public SPFile DefaultPage { get; set; }
Property Value
Type: Microsoft.SharePoint.SPFile
The SPFile instance that is used as the Welcome page for this PublishingWeb object.
Exceptions
Exception | Condition |
---|---|
[System.ArgumentNullException] | The value cannot be set to null. |
[System.ArgumentException] | The SPFile must exist in this site. |
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 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.
Examples
This sample demonstrates setting and saving property values on a publishing Web. Before building and running this sample, verify that Publishing feature has been enabled for the SPWeb, and that the defaultPageFileId is SPFile.UniqueId for the new default page.
[c#]
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)
{
// TODO: 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 &&
!publishingWeb.IsInheritingAvailablePageLayouts &&
!publishingWeb.IsRoot)
{
publishingWeb.InheritAvailablePageLayouts();
System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailablePageLayouts);
}
if (resetInheritWebTemplates &&
!publishingWeb.IsInheritingAvailableWebTemplates &&
!publishingWeb.IsRoot)
{
publishingWeb.InheritAvailableWebTemplates();
System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailableWebTemplates);
}
// Save the new values on the PublishingWeb.
publishingWeb.Update();
}
}
}
See Also
Reference
Microsoft.SharePoint.Publishing Namespace
WelcomePage