首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用csom导出SharePoint csom部件

使用csom导出SharePoint csom部件
EN

Stack Overflow用户
提问于 2015-07-22 09:43:36
回答 2查看 1.1K关注 0票数 0

是否有人知道是否可以在Office 365中使用CSOM导出web部件。我希望启用的方案是将发布页面(嵌入web部件)从一个Office 365租户移动到另一个租户。我最初的研究表明,这在客户端代码中是不可能的-任何帮助都很感谢。

EN

回答 2

Stack Overflow用户

发布于 2017-03-18 00:46:06

下面的代码应该可以做到这一点。

代码语言:javascript
复制
 var limitedWebPartManager = file.GetLimitedWebPartManager(PersonalizationScope.Shared);
        var webPartDefinitons = limitedWebPartManager.WebParts;
        clientContext.LoadAndExecute(webPartDefinitons);
        foreach (var webpartDefintion in webPartDefinitons)
        {
            try
            {
                var webPartId = webpartDefintion.Id;
                var webPartXML = limitedWebPartManager.ExportWebPart(webPartId);
                clientContext.ExecuteQuery();
                clientContext.Load(webpartDefintion, def => def.ZoneId, def => def.Id);
                clientContext.LoadAndExecute(webpartDefintion.WebPart, w => w.Title, w => w.ZoneIndex, w => w.Properties);

            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
票数 1
EN

Stack Overflow用户

发布于 2015-08-28 22:43:36

SharePoint仅通过CSOM导出LimitedWebPartManager。它非常有限(由此得名),并且只能实现有限的操作。(更改WebPart的标题,阅读信息)。

但是,我建议您使用/_vti_bin/webpartpages.asmx服务。(添加服务引用、http://yoursharepoint/_vti_bin/webpartpages.asmx

代码语言:javascript
复制
var credentials = new NetworkCredential();
credentials.UserName = "username";
credentials.Password = "secret";
credentials.Domain = "domain";

var svc = new WebPartPagesSvc.WebPartPagesWebService();
svc.Credentials = credentials;

var result = svc.GetWebPartPage(filename, WebPartPages2Svc.SPWebServiceBehavior.Version3);

Console.Write(result);

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31552510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档