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
web
Type : Microsoft.SharePoint.SPWebL'objet SPWeb pour être validé.
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