我正在尝试使用C#中的客户端库创建新的Enterprise Wiki。我在添加类别时遇到了一些问题。在网页上,我可以创建WikiPage并轻松添加我们的自定义类别。但它不适用于C#。 这是我的代码:
for(int i = 0; i < SourceItemCol.Count; i++)
{
SP.ListItem sourceItem = SourceItemCol[i];
string pageName = sourceItem["FileLeafRef"].ToString();
//samotne pridani wikiPage na wikinu
SP.File item = targetList.RootFolder.Files.AddTemplateFile(@"/Stranky%20wikiwebu/" + pageName/*+".aspx"*/, SP.TemplateFileType.WikiPage);
SP.ListItem newItem = item.ListItemAllFields;
newItem["WikiField"] = prepisTelo(sourceItem["WikiField"].ToString());
newItem["Wiki_x0020_Page_x0020_Categories"] = sourceItem["Categories_x0020_Wiki"];
newItem.Update();
targetList.Update();
}
targetContext.ExecuteQuery();
targetContext.Dispose();
问题是,我在Sharepoint Wiki上使用正确的正文获得了新的WikiPage,但是类别消失了。所以我在问,这里有人有经验吗?谢谢你的回答。
P.S。整个想法是在使用Enterprise Wiki的新Sharepoint服务器上迁移旧的公司WikiPages。
答案 0 :(得分:0)
我解决了这个问题。我正在复制糟糕的FieldValues
newItem["e1a5b98cdd71426dacb6e478c7a5882f"] = sourceItem.FieldValues["c24e0d7655d94d68baa9cb82e45ea847"];
运作良好。