PageLayout.ListItem Property
Gets the SPListItem object upon which this PageLayout class is based.
Namespace: Microsoft.SharePoint.Publishing
Assembly: Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)
Syntax
'Declaration
Public ReadOnly Property ListItem As SPListItem
Get
'Usage
Dim instance As PageLayout
Dim value As SPListItem
value = instance.ListItem
public SPListItem ListItem { get; }
Property Value
Type: Microsoft.SharePoint.SPListItem
The underlying SPListItem object upon which this class is based.
Remarks
The ListItem value is initialized when an instance of PageLayout is created and cannot be modified.
Note
The user must have permission to view list items in this list to initially retrieve the listing and to get any of its property values.
This property is useful for accessing the additional SPListItem and SPListItem.File properties and methods that have not been wrapped by the PageLayout class.
Examples
Before compiling and running this example, verify that the SPListItem object is a list item for a page layout that resides in the master page gallery on the top-level Web site.
This example assumes that the master page gallery that contains the SPListItem object requires content approval.
Do not use this property to access arbitrary fields of the SPListItem. ListItem applies only the following fields:
AnonymousCacheProfile()
AuthenticatedCacheProfile()
Author()
ContentTypeId()
Created()
FSObjType()
FileDirRef()
FileLeafRef()
FileRef()
Id()
MasterPageDescription()
PublishingAssociatedContentType()
PublishingAssociatedVariations()
PublishingPreviewImage()
ScopeId()
Title()
If there is a need to access other fields, use SPQuery to create a new SPListItem instance for use with other fields.
using PageLayout = Microsoft.SharePoint.Publishing.PageLayout;
using SPListItem = Microsoft.SharePoint.SPListItem;
using SPFile = Microsoft.SharePoint.SPFile;
namespace Microsoft.SDK.SharePointServer.Samples
{
public static class PageLayoutCodeSamples
{
// This method sets some properties on a PageLayout object,
// saves the new values, and publishes the PageLayout.
public static void SetPageLayoutPropertiesAndApprove(SPListItem layoutListItem)
{
// Replace these variable values and input
// parameters with your own values.
// New PageLayout.Title value
string newTitle = "your Title";
// New PageLayout.Description value
string newDescription = "your Description";
// The comment to set when the layout is checked in,
// published, and approved.
string checkInComment = "your comments";
// Validate the input parameters.
if (null == layoutListItem)
{
throw new System.ArgumentNullException("layoutListItem");
}
// Get the PageLayout wrapper for the SPListItem
// that is passed in.
PageLayout pageLayout = new PageLayout(layoutListItem);
// Check out the PageLayout if it is not checked out yet.
if (pageLayout.ListItem.File.CheckOutStatus ==
SPFile.SPCheckOutStatus.None)
{
pageLayout.ListItem.File.CheckOut();
}
// Set and save some properties on the PageLayout.
pageLayout.Title = newTitle;
pageLayout.Description = newDescription;
pageLayout.Update();
// Publish the PageLayout and Approve it so that the
// updated values are available on the published Web site.
pageLayout.ListItem.File.CheckIn(checkInComment);
SPFile layoutFile = pageLayout.ListItem.File;
layoutFile.Publish(checkInComment);
layoutFile.Approve(checkInComment);
}
}
}
Imports PageLayout = Microsoft.SharePoint.Publishing.PageLayout
Imports SPListItem = Microsoft.SharePoint.SPListItem
Imports SPFile = Microsoft.SharePoint.SPFile
Namespace Microsoft.SDK.SharePointServer.Samples
Public NotInheritable Class PageLayoutCodeSamples
' This method sets some properties on a PageLayout object,
' saves the new values, and publishes the PageLayout.
Private Sub New()
End Sub
Public Shared Sub SetPageLayoutPropertiesAndApprove(ByVal layoutListItem As SPListItem)
' Replace these variable values and input
' parameters with your own values.
' New PageLayout.Title value
Dim newTitle As String = "your Title"
' New PageLayout.Description value
Dim newDescription As String = "your Description"
' The comment to set when the layout is checked in,
' published, and approved.
Dim checkInComment As String = "your comments"
' Validate the input parameters.
If Nothing Is layoutListItem Then
Throw New System.ArgumentNullException("layoutListItem")
End If
' Get the PageLayout wrapper for the SPListItem
' that is passed in.
Dim pageLayout As New PageLayout(layoutListItem)
' Check out the PageLayout if it is not checked out yet.
If pageLayout.ListItem.File.CheckOutStatus = SPFile.SPCheckOutStatus.None Then
pageLayout.ListItem.File.CheckOut()
End If
' Set and save some properties on the PageLayout.
pageLayout.Title = newTitle
pageLayout.Description = newDescription
pageLayout.Update()
' Publish the PageLayout and Approve it so that the
' updated values are available on the published Web site.
pageLayout.ListItem.File.CheckIn(checkInComment)
Dim layoutFile As SPFile = pageLayout.ListItem.File
layoutFile.Publish(checkInComment)
layoutFile.Approve(checkInComment)
End Sub
End Class
End Namespace