2010-01-12 2 views

ответ

5

Код ниже работает для меня. Это было взято из этого forum post. Обратите внимание, что удалить страницу публикации невозможно, если она задана как страница по умолчанию (приветствие).

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) 
{ 
} 
Смежные вопросы