2011-07-08 19 views

答えて

13

項目がフォルダでない場合は、リスト項目のFolderプロパティはnullになりますので、あなたが書くことができます。

public bool IsFolder(SPListItem item) 
{ 
    return item.Folder != null; 
} 

を同じように、アイテムのFile財産になりますnullアイテムがドキュメントでない場合。ただし、ドキュメントが、その場合には、このプロパティを使用しないことを助言:

Fileプロパティもそれはあるもののnull かの項目がフォルダである、またはアイテム は、ドキュメントライブラリに配置されていない場合は、 返しますこのような場合は とお勧めしません。

別の方法は、リストのBaseTypeプロパティをチェックすることです:

public bool IsDocument(SPListItem item) 
{ 
    return !IsFolder(item) 
     && item.ParentList.BaseType == SPBaseType.DocumentLibrary; 
} 
2
if (item.Folder!=null) 
    // item is Folder and Folder will hold the SPFolder class 
+1

正解{
//項目は、ファイル
...
あります}! +0。人生は不公平である!!! ;)ちょうどあなたに冗談+1。 – Mzn

2
if(item["ContentType"].ToString() == "Folder") 
+0

私のための仕事....ありがとう – Optimus

4

使用SPFileSystemObjectType列挙を確認することだと思います。 (item.FileSystemObjectType == SPFileSystemObjectType。フォルダ
{
//アイテムがフォルダの場合は
はここで...

foreachの(docLib.ItemsでSPListItem項目)
{
サンプルです
...他
}
場合(item.FileSystemObjectType == SPFileSystemObjectType。ファイル
7分前
}

0
if (oitem.ContentType.Name == spWeb.AvailableContentTypes[SPBuiltInContentTypeId.Folder].Name) 
         { 
          Console.WriteLine("Folder Name: " + oitem.Name.ToString()); 
         } 
関連する問題