是否可以使用某种Visual Studio来同步位于不同平台上的两个SharePoint列表?我是个新手,想分析一下我的跨平台同步列表选项。我希望能够添加或更新列表2中的项目,如果它们不存在于列表1中,或者删除它们,如果它们不再存在于List1中
例如: List1基于SharePoint 2013平台,List2基于SharePoint2010平台
发布于 2015-12-18 01:28:05
Microsoft.SharePoint.Client是一个可以远程连接到SharePoint环境的库。因此,您可以很容易地连接到一个列表,收集数据,然后打开到另一个环境的新上下文,并复制该数据。
string url = first.site;
string url2 = second.site;
using (ClientContext context = new ClientContext(url))
{
//GetListItems();
using (ClientContext context2 = new ClientContext(url2))
{
//AddListItems();
}
} using (ClientContext context = new ClientContext(url))
{
List list = context.Web.Lists.GetByTitle("Project Notes Test");
FieldCollection fields = list.Fields;
context.Load(fields);
context.ExecuteQuery();
using (ClientContext target = new ClientContext(url2))
{
List list2 = target.Web.Lists.GetByTitle("Other List");
FieldCollection fields2 = list2.Fields;
target.Load(fields2);
target.ExecuteQuery();
foreach (Field field in fields)
{
foreach(Field field2 in fields2)
{
if(field.Title == field2.Title)
{
listItem1[field.StaticName] = listItem2[field.StaticName];
}
}
}
}
}发布于 2015-12-18 05:13:32
如何确保第二个列表在适当的列中获取信息?我必须指定列表中的每一列吗?例如: collListItem"Title“= oListItem"Title”
string url = first.site;
string url2 = second.site;
using (ClientContext context = new ClientContext(url))
{
//Retreival code here;
foreach(ListItem listItem in collListItem)
{
using (ClientContext context2 = new ClientContext(url2))
{
//Add Items to list;
SP.List rList = clientContext.Web.Lists.GetByTitle("List2");
ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
ListItem oListItem = rList.AddItem(itemCreateInfo);
//******How do I ensure this is getting the code I retrieved in the first list?//
oListItem["Title"] = "Hello";
oListItem["Body"] = "New Item";
oListItem.Update();
clientContext.ExecuteQuery();
}
}
}
https://stackoverflow.com/questions/34340420
复制相似问题