如何确定Sharepoint 2007中的发布页面是否实际发布

时间:2009-11-25 15:04:17

标签: c# sharepoint

在Web部件代码中,我必须在pdf文档中转换sharepoint网站,我已完成此操作。需要进行扩展,其中PDF文档仅用于获取已发布的页面。

所以我有一个使用“siteMapnodeCollection”的页面列表并获取子节点等,如何检查节点所代表的发布页面是否已实际发布&批准?

由于

马克

2 个答案:

答案 0 :(得分:3)

请参阅:

  • Microsoft.SharePoint.Publishing.PublishingPage.IsPublishingPage(listItem)
  • Microsoft.SharePoint.Publishing.PublishingPage.GetPublishingPage(listItem)

  • (pageinstance).ListItem.File.Level (should be "Published")
  • (pageinstance).ListItem.ModerationInformation.Status (should be "Approved")

<强>更新

大多数发布网络都配置为使用审核,但您可能不会这样做,因此您可能不需要检查批准。

答案 1 :(得分:1)


PublishingPageCollection pages = PublishingWeb.GetPublishingWeb(web).GetPublishingPages();
foreach (PublishingPage page in pages)
{
    if(!page.ListItem.File.Level == SPFileLevel.Published)
       return;
// logic }

您还可以在GetPublishingPages()方法中传递CAML查询,使项目处于正确状态。