1
我需要遍歷文檔庫的內容並使用MVC將它們顯示在網頁上。然而,當我嘗試運行我的代碼時,出現以下錯誤:「集合尚未初始化,尚未請求或請求尚未執行,可能需要明確請求。」使用遞歸以編程方式獲取文檔庫的子項
任何幫助,將不勝感激!
這裏是我的代碼:
public class HomeController : Controller
{
public ActionResult Index()
{
DefaultModel model = new DefaultModel();
using (ClientContext context = new ClientContext("MySPSite"))
{
List list = context.Web.Lists.GetByTitle("DocumentLibrary");
Folder rootFolder = list.RootFolder;
IEnumerable<SharePointItemBaseModel> items = ProcessFolder(rootFolder);
model.items.AddRange(items);
}
return View(model);
}
public IEnumerable<SharePointItemBaseModel> ProcessFolder(Folder folder)
{
List<SharePointItemBaseModel> listItems = new List<SharePointItemBaseModel>();
foreach (Folder childFolder in folder.Folders)
{
FolderModel folderModel = new FolderModel();
IEnumerable<SharePointItemBaseModel> childFolders = ProcessFolder(childFolder,context);
folderModel.Items.AddRange(childFolders);
listItems.Add(folderModel);
}
foreach (Microsoft.SharePoint.Client.File file in folder.Files)
{
DocumentModel documentModel = new DocumentModel();
documentModel.Name = file.Title;
documentModel.modifiedBy = file.ModifiedBy.ToString();
listItems.Add(documentModel);
}
return listItems;
}
public ActionResult About()
{
return View();
}
}
}
我會強烈建議你閱讀這篇文章在SharePoint客戶端對象模型; http://www.codeproject.com/Articles/268193/SharePoint-2010-Client-Object-Model-Part-1 –