Удаление страниц публикации из SharePoint Publishing Web - PullRequest
2 голосов
/ 12 января 2010

Как удалить страницы из веб-сайта публикации с помощью API-интерфейса SharePoint?

Спасибо, MagicAndi.

1 Ответ

5 голосов
/ 12 января 2010

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

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)
{
}
...