Sharepoint 2010:通过CSOM将维基页面从一个网站复制到另一个网站后,缺少快速启动和功能区

时间:2013-01-09 17:26:59

标签: sharepoint-2010

将我的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),它显示起来很丑陋:)

您是否知道如何解决此问题?我是否错过了某些内容或以错误的方式解决问题?

提前谢谢!

尼古拉斯

1 个答案:

答案 0 :(得分:0)

谢谢Josh,这是个好主意。我通过使用AddTemplateFile修复了我的问题! 这是(简化)代码:

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