使用元数据创建新 Wiki
Create new Wiki with Metadata
我正在尝试使用 C# 中的客户端库创建新的企业 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。整个想法是将旧公司 WikiPages 迁移到使用 Enterprise Wiki 的新 Sharepoint 服务器上。
好吧,我解决了这个问题。我正在复制错误的 FieldValues
newItem["e1a5b98cdd71426dacb6e478c7a5882f"] = sourceItem.FieldValues["c24e0d7655d94d68baa9cb82e45ea847"];
工作顺利。
我正在尝试使用 C# 中的客户端库创建新的企业 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。整个想法是将旧公司 WikiPages 迁移到使用 Enterprise Wiki 的新 Sharepoint 服务器上。
好吧,我解决了这个问题。我正在复制错误的 FieldValues
newItem["e1a5b98cdd71426dacb6e478c7a5882f"] = sourceItem.FieldValues["c24e0d7655d94d68baa9cb82e45ea847"];
工作顺利。