2017-02-14 6 views
1

Я хочу сделать это очень простым. У меня есть новая, совершенно новая веб-форма asp.net C# с кодом, показанным ниже.C# Получить список документов из библиотеки документов 2013 2013

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

У меня есть сайт SharePoint 2013 с библиотекой документов, которая имеет несколько документов в нем с несколькими столбцами метаданных.

Как его показать на веб-странице, ссылку на каждый документ и метаданные из столбцов для каждого документа из библиотеки. Я супер новичок в любой работе с интеграцией SharePoint и ASP.Net.

Пожалуйста, помогите.

Энди

ответ

1

Sharepoint имеет 3 API, которые можно использовать. Посмотрите здесь: https://msdn.microsoft.com/en-us/library/office/jj164060.aspx

Возможно, вы захотите использовать службу client.svc через библиотеку CSOM (Microsoft.SharePoint.Client) только потому, что проще всего запускать и запускать. Не используйте старшую asmx api, потому что она устарела. Существует третий вариант - REST - но он не предоставляет всех функций, которые выполняет CSOM.

Вот приблизительный код, показывающий основы. Существует много нюансов, которые не рассматриваются в коде (SharePoint сложный), поэтому вы также захотите найти дополнительную информацию в Интернете.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Microsoft.SharePoint.Client; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected string SiteUrl = "http://mysite.mydomain.com/site"; 
    protected string LibraryName = "MyList"; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     var context = new ClientContext(SiteUrl); 
     context.Load(context.Site); 
     context.ExecuteQuery(); 

     var list = context.Web.Lists.GetByTitle(LibraryName); 

     if (list == null) 
     { 
      throw new ArgumentException(string.Format("List with name '{0}' not found on site '{1}'", LibraryName, SiteUrl)); 
     } 

     context.Load(list, l => l.RootFolder.ServerRelativeUrl); 
     context.ExecuteQuery(); 

     // Empty query. You probably want to filter on something so 
     // do a search on "CAML Query". Also watch out for SharePoint 
     // List View Threshold which limits # of items that can be retrieved 
     var camlQuery = @"<View Scope='All'><Query></Query></View>"; 

     var items = list.GetItems(camlQuery); 
     context.Load(items, l => l.IncludeWithDefaultProperties(i => i.Folder, i => i.File, i => i.DisplayName)); 
     context.ExecuteQuery(); 

     // Url for first item 
     var url = SiteUrl + "/" + LibraryName + "/" + items[0]["Title"] 
    } 
} 
Смежные вопросы