从SharePoint Publishing Web删除发布页面

时间:2010-01-12 14:58:49

标签: sharepoint api sharepoint-2007 moss

如何使用SharePoint API从发布网页删除页面?

谢谢,MagicAndi。

1 个答案:

答案 0 :(得分: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)
{
}