100分求助:SharePoint Service,如何遍历文档库的目录?

davidullua 2005-01-12 09:30:30
下面是遍历Domain中文档库所有文件(不包括目录,C#)的例子,查了帮助文档,有一个方法GetItemsInFolder(SPView view,SPFolder folder),却始终没有理解这两个参数应该怎么设,调试了好几天都没有成功,请有经验者指教如何列出Domain中文档库的所有目录或者所有根目录?

string outputStr="";

SPWeb mySite = SPControl.GetContextSite(Context).AllWebs["Domain"];
output.Write("site title:"+SPEncode.HtmlEncode(mySite.Title)+"<br><br>");

SPListCollection lists=mySite.Lists;
foreach(SPList list in lists)
{

if (list.BaseType == SPBaseType.DocumentLibrary)
{
SPDocumentLibrary docLibrary = (SPDocumentLibrary)list;
SPListItemCollection docLibItems = docLibrary.Items;

//docLibrary.GetItemsInFolder
// Lists
//docLibrary.RootFolder
foreach (SPListItem docLibItem in docLibItems)//docLibItems
{
outputStr += SPEncode.HtmlEncode(mySite.Name) + " -- " +
SPEncode.HtmlEncode(list.Title) + " -- " + SPEncode.HtmlEncode(docLibItem.File.Name.ToString()) + "<BR>";//docLibItem["Title"],["Author"],["Due Date"].
}

}
}
...全文
228 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
onekey 2005-03-15
  • 打赏
  • 举报
回复
// get the current site
SPWeb site = SPControl.GetContextWeb(Context);

// set the library and view to display
string docLibName = "Shared Documents";
string viewName = "All Documents";

// get the folder
SPFolder docLibFolder = site.Folders[docLibName];

// get library and view
SPDocumentLibrary docLib = (SPDocumentLibrary)site.Lists[docLibName];
SPView docLibView = docLib.Views["View_Name"];

// get all the items in the folder
SPListItemCollection docLibItems = docLib.GetItemsInFolder(docLibView, docLibFolder);

// loop through and display the names of the items
foreach (SPListItem item in docLibItems){
Label1.Text += "Name: " + item["Name"] + "";
}


//===============================================================
写的很明白了,docLibName就是取文档库名,例如“共享文档库”。
viewName就是你要取的文档名称,如果全部就是“All Documents”。
qigang_liu 2005-03-15
  • 打赏
  • 举报
回复
gz
davidullua 2005-01-16
  • 打赏
  • 举报
回复
有没有人知道啊,顶一下。
liulxmooo 2005-01-13
  • 打赏
  • 举报
回复
up
davidullua 2005-01-13
  • 打赏
  • 举报
回复
是WSS SDK上的文档吧,看过了,用不了。不明白GetItemsInFolder(view,foler)中两个参数的含义,所以不知道该如何设置两个两个参数。
LoveCherry 2005-01-13
  • 打赏
  • 举报
回复
SPSite siteCollection = SPControl.GetContextSite(Context);
SPWeb site = siteCollection.AllWebs["Site_Name"];

string docLibName = "DocLibrary_Name";

SPFolder docLibFolder = site.Folders[docLibName];
SPFolder docLibInnerFolder = docLibFolder.SubFolders["Subfolder_Name"];

SPDocumentLibrary docLib = (SPDocumentLibrary)site.Lists[docLibName];
SPView docLibView = docLib.Views["View_Name"];

SPListItemCollection docLibItems = docLib.GetItemsInFolder(docLibView, docLibInnerFolder);

for (int i=0; i<docLibItems.Count; i++)
{
Label1.Text += docLibItems[i].ID.ToString() + "<BR>";
}
davidullua 2005-01-12
  • 打赏
  • 举报
回复
第一次问问题,希望能有贵人指点啊。

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧