PublishingWeb.GetPublishingWeb - Méthode

Récupère une instance de la PublishingWeb qui encapsule l'objet spécifié SPWeb .

Espace de noms :  Microsoft.SharePoint.Publishing
Assembly :  Microsoft.SharePoint.Publishing (dans Microsoft.SharePoint.Publishing.dll)

public static PublishingWeb GetPublishingWeb(
	SPWeb web
)

Paramètres

web
Type : Microsoft.SharePoint.SPWeb

L'objet SPWeb pour encapsuler dans une instance de PublishingWeb .

Valeur renvoyée

Type : Microsoft.SharePoint.Publishing.PublishingWeb
Une instance de PublishingWeb qui encapsule la classe SPWeb .

Utilisez cette méthode pour accéder à PublishingWeb comportement d'une instance d'une classe SPWeb qui a déjà été récupérée. Vous pouvez également récupérer des instances de la classe PublishingWeb par l'intermédiaire de la méthode GetPublishingWebs .

Avant d'utiliser cette méthode, consultez la méthode IsPublishingWeb pour confirmer que le comportement de publication est pris en charge sur cette instance de la classe SPWeb . Si la publication n'est pas pris en charge sur le SPWeb, puis les méthodes et les propriétés du wrapper PublishingWeb peuvent avoir un comportement inattendu.

C'est à l'appelant de cette méthode pour fermer l'instance de la classe SPWeb qui a été transmise en appelant la méthode SPWeb.Close . L'appel de la méthode PublishingWeb.Close n'a aucun effet.

Cet exemple illustre la définition et l'enregistrement des valeurs de propriété sur une publication Web. Avant de générer et exécuter cet exemple, vérifiez que la fonctionnalité de publication a été activée pour le SPWeb, et que le defaultPageFileId est SPFile.UniqueId pour la nouvelle page par défaut.

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)
        {
// 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();
        }
    }
}
Afficher: