Partager via


PublishingWeb.IsPublishingWeb - Méthode

Vérifie si l'objet SPWeb pour vérifier s'il s'agit d'un objet PublishingWeb .

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

Syntaxe

'Déclaration
Public Shared Function IsPublishingWeb ( _
    web As SPWeb _
) As Boolean
'Utilisation
Dim web As SPWeb
Dim returnValue As Boolean

returnValue = PublishingWeb.IsPublishingWeb(web)
public static bool IsPublishingWeb(
    SPWeb web
)

Paramètres

Valeur renvoyée

Type : System.Boolean
true si la classe SPWeb prend en charge qui est encapsulé dans une instance de PublishingWeb ; dans le cas contraire, false.

Exceptions

Exception Condition
[System.ArgumentNullException]

Le SPWeb ne peut pas être null.

Remarques

Cette méthode vérifie l'instance SPWeb pour déterminer si la publication fonctionnalité a été activée sur ce dernier.

Nous vous conseillons d'utiliser cette méthode avant d'appeler la méthode [T:Microsoft.SharePoint.Publishing.PublishingWeb.GetPublishingWeb(Microsoft.SharePoint.SPWeb)] .

Exemples

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();
        }
    }
}
Imports SPContentTypeId = Microsoft.SharePoint.SPContentTypeId
Imports SPContentType = Microsoft.SharePoint.SPContentType
Imports SPSite = Microsoft.SharePoint.SPSite
Imports SPFile = Microsoft.SharePoint.SPFile
Imports SPWeb = Microsoft.SharePoint.SPWeb
Imports PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite
Imports PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb
Imports PageLayoutCollection = Microsoft.SharePoint.Publishing.PageLayoutCollection
Imports PageLayout = Microsoft.SharePoint.Publishing.PageLayout

Namespace Microsoft.SDK.SharePointServer.Samples
    Public NotInheritable Class PublishingWebCodeSamples
        Private Sub New()
        End Sub
        Public Shared Sub SetPublishingWebProperties(ByVal web As SPWeb, ByVal defaultPageFileId As System.Guid)
' Replace these variable values and input parameters
' with your own values.
Dim newTitle As String = "your Title" ' new PublishingWeb.Title value
Dim newDescription As String = "your Description" ' new PublishingWeb.Description value
Dim resetInheritPageLayouts As Boolean = True ' new PublishingWeb.IsInheritingAvailablePageLayouts value
Dim resetInheritWebTemplates As Boolean = True ' new PublishingWeb.IsInheritingAvailableWebTemplates value

' Validate the input parameters.
If Nothing Is web Then
    Throw New System.ArgumentNullException("web")
End If

' Get the PublishingWeb wrapper for the SPWeb 
' that was passed in.
Dim publishingWeb As PublishingWeb = Nothing
If PublishingWeb.IsPublishingWeb(web) Then
    publishingWeb = PublishingWeb.GetPublishingWeb(web)
Else
    Throw New System.ArgumentException("The SPWeb must be a PublishingWeb", "web")
End If

'  Retrieve the SPFile.
Dim newDefaultPageFile As SPFile = publishingWeb.Web.GetFile(defaultPageFileId)
If (Nothing Is newDefaultPageFile) OrElse (Not newDefaultPageFile.Exists) Then
    Throw New System.ArgumentException("The Guid does not match an SPFile on the SPWeb", "defaultPageFileId")
End If

' Set new values on the PublishingWeb.
publishingWeb.Title = newTitle
publishingWeb.Description = newDescription
publishingWeb.DefaultPage = newDefaultPageFile
If resetInheritPageLayouts AndAlso (Not publishingWeb.IsInheritingAvailablePageLayouts) AndAlso (Not publishingWeb.IsRoot) Then
    publishingWeb.InheritAvailablePageLayouts()
    System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailablePageLayouts)
End If
If resetInheritWebTemplates AndAlso (Not publishingWeb.IsInheritingAvailableWebTemplates) AndAlso (Not publishingWeb.IsRoot) Then
    publishingWeb.InheritAvailableWebTemplates()
    System.Diagnostics.Debug.Assert(publishingWeb.IsInheritingAvailableWebTemplates)
End If

' Save the new values on the PublishingWeb.
publishingWeb.Update()
        End Sub
    End Class
End Namespace

Voir aussi

Référence

PublishingWeb classe

PublishingWeb - Membres

Microsoft.SharePoint.Publishing - Espace de noms