Share via


PublishingPage.IsPublishingPage Method

Confirms that an SPListItem is compatible with the PublishingPage object.

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

Syntax

'Declaration
Public Shared Function IsPublishingPage ( _
    sourceListItem As SPListItem _
) As Boolean
'Usage
Dim sourceListItem As SPListItem
Dim returnValue As Boolean

returnValue = PublishingPage.IsPublishingPage(sourceListItem)
public static bool IsPublishingPage(
    SPListItem sourceListItem
)

Parameters

Return Value

Type: System.Boolean
This method returns True if the SPListItem is a PublishingPage; otherwise, it returns False.

Remarks

This static method confirms that the SPWeb that the SPListItem belongs to a PublishingWeb object and confirms that the SPListItem is in the designated SPList specified by the PagesList property. If this check returns True, then the GetPublishingPage method succeeds for this sourceListItem.

Examples

This sample sets some properties on a PublishingPage object, saves the new values, and publishes the PublishingPage.

Before compiling and running this sample, verify that this SPLIstItem is a list item in the pages document library of a PublishingWeb.

This sample presumes that the document library that contains the SPListItem requires content approval.

using PublishingPage = Microsoft.SharePoint.Publishing.PublishingPage;
using SPListItem = Microsoft.SharePoint.SPListItem;
using SPFile = Microsoft.SharePoint.SPFile;
using SPModerationStatusType = Microsoft.SharePoint.SPModerationStatusType;
using PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb;
using SPUser = Microsoft.SharePoint.SPUser;
using PageLayout = Microsoft.SharePoint.Publishing.PageLayout;
using PublishingPageCollection = Microsoft.SharePoint.Publishing.PublishingPageCollection;

namespace Microsoft.SDK.SharePointServer.Samples
{
    public static class PublishingPageCodeSamples
    {

        public static void SetPagePropertiesAndApprove(SPListItem listItem, SPUser pageContact)
        {
            // TODO: Replace these variable values and input parameters with your own values.
            //
            // New PublishingPage.Title value
            string newTitle = "your Title";
            //
            // New PublishingPage.Description value
            string newDescription = "your Description";
            //
            // The comment to set when the page is checked in, published, and approved.
            string checkInComment = "Your comments";

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

            // Get the PublishingPage wrapper for the SPListItem that was passed in.
            //
            PublishingPage publishingPage = null;
            if (PublishingPage.IsPublishingPage(listItem))
            {
                publishingPage = PublishingPage.GetPublishingPage(listItem);
            }
            else
            {
                throw new System.ArgumentException("This SPListItem is not a PublishingPage", "listItem");
            }

            
            // Check out the page if it is not checked out yet.
            //
            if (publishingPage.ListItem.File.CheckOutStatus == SPFile.SPCheckOutStatus.None)
            {
                publishingPage.CheckOut();
            }

            
            // Set and save some properties on the PublishingPage.
            //
            publishingPage.Title = newTitle;
            publishingPage.Description = newDescription;
            publishingPage.Contact = pageContact;
            publishingPage.Update();

            
            // Publish the page, and approve it if required, so that the updated 
            // values are visible on the published Web site.
            //
            publishingPage.CheckIn(checkInComment);
            SPFile pageFile = publishingPage.ListItem.File;
            pageFile.Publish(checkInComment);
            pageFile.Approve(checkInComment);
        }
    }
}

See Also

Reference

PublishingPage Class

PublishingPage Members

Microsoft.SharePoint.Publishing Namespace