1

我在将我的 wiki 页面从一个 SharePoint 站点复制到另一个站点时遇到问题。我正在使用 CSOM(客户端对象模型)和以下(简化)代码:

                var fileCreationInformation = new SP.FileCreationInformation();

                string page = EXTRACTED VALUE OF THE SOURCE FIELD "wikiField" (string)
                byte[] bytes = new byte[page.Length * sizeof(char)];
                System.Buffer.BlockCopy(page.ToCharArray(), 0, bytes, 0, bytes.Length);

                fileCreationInformation.Content = bytes;
                fileCreationInformation.Overwrite = true;
                fileCreationInformation.Url = EXTRACTED VALUE OF THE SOURCE FIELD "FileLeafRef" (string)

                Microsoft.SharePoint.Client.File uploadFile = oList.RootFolder.Files.Add(fileCreationInformation);
                clientContext.Load(uploadFile);
                clientContext.ExecuteQuery();

我的问题是在复制之后,我的新 wiki 页面被创建并且内容完美显示,除了没有 Quicklaunch 和 Ribbon。显示的只是我的原始内容(例如 XML 仅用于 xml 页面),有点难看:)

你知道我该如何解决这个问题吗?我是否遗漏了什么,或者我以错误的方式解决问题?

先感谢您!

尼古拉斯

4

1 回答 1

0

谢谢乔希,这是个好主意。我通过使用 AddTemplateFile 解决了我的问题!这是(简化的)代码:

                string path = PATH
                SP.File wikiPage = oList.RootFolder.Files.AddTemplateFile(path, SP.TemplateFileType.WikiPage);
                wikiPage.ListItemAllFields["WikiField"] = CONTENT
                wikiPage.ListItemAllFields.Update();
于 2013-01-10T09:25:06.113 回答