Sharepoint 2010 Sharepoint 2010:通过CSOM将wiki页面从一个网站复制到另一个网站后,缺少quicklaunch和ribbon

Sharepoint 2010 Sharepoint 2010:通过CSOM将wiki页面从一个网站复制到另一个网站后,缺少quicklaunch和ribbon,sharepoint-2010,Sharepoint 2010,我无法将我的wiki页面从一个SharePoint网站复制到另一个SharePoint网站。我使用的是CSOM客户端对象模型和以下简化代码: var fileCreationInformation = new SP.FileCreationInformation(); string page = EXTRACTED VALUE OF THE SOURCE FIELD "wikiField" (string)

我无法将我的wiki页面从一个SharePoint网站复制到另一个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,有点难看:

你知道我如何解决这个问题吗?我是错过了什么,还是用错误的方式解决了问题

提前谢谢你


尼古拉斯

谢谢你,乔希,这是个好主意。我通过使用AddTemplateFile修复了我的问题! 以下是简化代码:

                string path = PATH
                SP.File wikiPage = oList.RootFolder.Files.AddTemplateFile(path, SP.TemplateFileType.WikiPage);
                wikiPage.ListItemAllFields["WikiField"] = CONTENT
                wikiPage.ListItemAllFields.Update();

我希望您只是创建一个文件,SharePoint不知道您想要创建一个wiki page类型的文件。我将尝试进一步研究这个问题。