Sharepoint 2010 Sharepoint 2010:通过CSOM将wiki页面从一个网站复制到另一个网站后,缺少quicklaunch和ribbon
我无法将我的wiki页面从一个SharePoint网站复制到另一个SharePoint网站。我使用的是CSOM客户端对象模型和以下简化代码: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)
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类型的文件。我将尝试进一步研究这个问题。