PublishingPage.GetPublishingPage Method
Used to retrieve a PublishingPage object instance that wraps the given SPListItem object.
Namespace: Microsoft.SharePoint.Publishing
Assembly: Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)
Syntax
'Declaration
Public Shared Function GetPublishingPage ( _
sourceListItem As SPListItem _
) As PublishingPage
'Usage
Dim sourceListItem As SPListItem
Dim returnValue As PublishingPage
returnValue = PublishingPage.GetPublishingPage(sourceListItem)
public static PublishingPage GetPublishingPage(
SPListItem sourceListItem
)
Parameters
- sourceListItem
Type: Microsoft.SharePoint.SPListItem
An SPListItem object for which to retrieve a PublishingPage wrapper.
Return Value
Type: Microsoft.SharePoint.Publishing.PublishingPage
A PublishingPage instance that wraps the given SPListItem.
Exceptions
Exception | Condition |
---|---|
[System.ArgumentException] | Invalid SPListItem. The SPListItem provided is not compatible with a PublishingPage. |
[System.ArgumentNullException] | The sourceListItem is a null reference (Nothing in Visual Basic) which is invalid. |
Remarks
This is a static method. Use it to get a PublishingPage object instance that wraps an SPListItem that you have already retrieved. Alternatively, use the PublishingWeb.GetPublishingPages() method to get a PublishingPage instance.
The sourceListItem must be a non-null SPListItem instance.
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);
}
}
}