2016-04-25 9 views
0

ページライブラリからチェックインしたすべてのページを公開しようとしています。次のコードを使用すると、チェックインされ、ページがチェックアウトされます。チェックインしたページだけをフィルタリングするにはどうすればよいですか?Programmatically Get Checkedページからページを公開するには

  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

Amは、ファイルをチェックアウトチェックしないとドラフト

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クエリは、チェックアウトされたファイルのみを返します。 –

関連する問題