从SharePoint Publishing Web删除发布页面

Mag*_*ndi 2 api sharepoint moss sharepoint-2007

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

谢谢,MagicAndi.

Mag*_*ndi 5

下面的代码适合我.它来自这个论坛帖子.请注意,如果将发布页面设置为默认登录(欢迎)页面,则无法将其删除.

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)
{
}
Run Code Online (Sandbox Code Playgroud)