2016-04-25 99 views
0

正在尝试列出所有已检出的发布来自页面库的页面。使用以下代码获取签入和签出页面。我怎样才能过滤只检查页面?以编程方式获取检入从页面库发布页面

  SPList pageList = web.Lists["Pages"]; 
      DataTable dtNews = getNewsTable(); 
      foreach (SPListItem item in pageList.Items) 
      { 
       if (item.ContentType.Name == "Article Page") 
       { 
        var publishingPage = PublishingPage.GetPublishingPage(item); 
       } 
      } 

回答

0

上午检查文件没有草稿

foreach (SPListItem item in pageList.Items) 
      { 
       if (item.ContentType.Name == "Article Page") 
       { 
        SPFile file = item.File; 
        if (file.Level != SPFileLevel.Draft && file.Level != SPFileLevel.Checkout) 
        { 

        } 
       } 
      } 
2

试试这个:

SPList pageList = web.Lists["Pages"]; 
SPQuery query = new SPQuery(); 
query.Query = "<Where><Eq><FieldRef Name='CheckoutUser' LookupId='TRUE'/><Value Type='int'>0</Value></Eq></Where>"; 

    foreach (SPListItem item in pageList.GetItems(query)) 
    { 
     if (item.ContentType.Name == "Article Page") 
     { 
      var publishingPage = PublishingPage.GetPublishingPage(item); 
     } 
    } 
+0

它不工作签出,而不是。查询不返回任何值 –

+0

CAML查询将仅返回检出的文件。 –

相关问题