PageLayout.Description Property

Gets or sets descriptive text for this PageLayout object.

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

Syntax

'Declaration
Public Property Description As String
    Get
    Set
'Usage
Dim instance As PageLayout
Dim value As String

value = instance.Description

instance.Description = value
public string Description { get; set; }

Property Value

Type: System.String
The text describing this PageLayout object.
The Description value can be an empty string. A a null reference (Nothing in Visual Basic) value is also treated as an empty string.

Exceptions

Exception Condition
ArgumentException

A property value that is not valid.

UnauthorizedAccessException

The current user does not have sufficient permissions to perform this action.

Remarks

You must call Update after setting this property to save changes.

The user must have edit permissions on the PageLayout object to set this value. The user must have view permissions on the PageLayout object to retrieve it initially and to get any of its property values.

If this property value is used in HTML and is rendered in a Web browser, you should encode the property value to avoid the possibility of scripting attacks.

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.

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

See Also

Reference

PageLayout Class

PageLayout Members

Microsoft.SharePoint.Publishing Namespace