2016-05-11 4 views
0

Ich versuche ein neues Enterprise Wiki mit Client Library in C# zu erstellen. Ich habe ein Problem mit dem Hinzufügen von Kategorien. Auf der Webseite kann ich WikiPage erstellen und unsere benutzerdefinierten Kategorien hinzufügen. Aber es funktioniert nicht mit C#. Hier ist mein Code:Erstelle ein neues Wiki mit Metadaten

 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(); 

Die Sache ist, ich neue Wikiseite auf dem Sharepoint-Wiki mit dem richtigen Körper bekam, aber Kategorien verschwinden. Also frage ich, hat jemand hier Erfahrung damit? Danke für deine Antworten.

P.S. Die Idee dahinter ist, alte WikiPages auf einen neuen Sharepoint Server zu migrieren, der das Enterprise Wiki nutzt.

Antwort

0

Nun, ich löste dieses Problem. Ich kopierte schlechte FieldValues ​​

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

gut funktionieren.