使用元数据创建新的Wiki

时间:2016-05-11 08:47:07

标签: c# sharepoint-2013 metadata client-object-model

我正在尝试使用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。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我正在复制糟糕的FieldValues

newItem["e1a5b98cdd71426dacb6e478c7a5882f"] = sourceItem.FieldValues["c24e0d7655d94d68baa9cb82e45ea847"];

运作良好。