2010-01-12 4 views

Répondre

5

Le code ci-dessous fonctionne pour moi. Il a été pris à partir de ce forum post. Notez qu'il n'est pas possible de supprimer une page de publication si elle est définie comme page d'accueil par défaut (bienvenue).

try 
{ 
    SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 
     using (SPSite site = new SPSite(p_sSitePath)) 
     { 
      using (SPWeb web = site.OpenWeb()) 
      { 
       PublishingWeb pubWeb = null; 
       if (PublishingWeb.IsPublishingWeb(web)) 
       { 
        pubWeb = PublishingWeb.GetPublishingWeb(web); 

        foreach (SPListItem currentItem in pubWeb.PagesList.Items) 
        { 
         if(PublishingPage.IsPublishingPage(currentItem)) 
         { 
          PublishingPage page = PublishingPage.GetPublishingPage(currentItem); 

          if (page.Name != pubWeb.DefaultPage.Name) 
          { 
           currentItem.File.Delete(); 
          } 
         } 
        }    
       } 
      } 
     } 
    }); 
} 
catch (Exception ex) 
{ 
} 
Questions connexes