我想让这很简单。我有一个全新的,全新的asp.net C#网页表单,后面的代码如下所示。
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的任何工作都非常陌生。
请帮忙。
安迪
答案 0 :(得分:1)
Sharepoint有3个可以使用的API。看看这里:https://msdn.microsoft.com/en-us/library/office/jj164060.aspx
您可能希望通过CSOM库(Microsoft.SharePoint.Client)使用client.svc服务,因为它最容易启动和运行。不要使用旧的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"]
}
}