Estava a ter algumas dificuldades em adicionar a uma página uma ContentEditorWebPart
com código HTML como conteúdo. A única coisa necessária é criar uma instância XmlDocument
com um XmlElement
com o HTML necessário em inner text.
// TODO: open web and checkout page
ContentEditorWebPart contentEditor = new ContentEditorWebPart();
XmlDocument xmlDoc = new XmlDocument();
XmlElement xmlElement = xmlDoc.CreateElement("HtmlContent");
xmlElement.InnerText = "<strong>Hello World!</strong>";
contentEditor.Content = xmlElement;
using (SPLimitedWebPartManager manager =
web.GetLimitedWebPartManager(pageUrl, PersonalizationScope.Shared)) {
manager.AddWebPart(contentEditor, zoneID, zoneIndex);
}
// TODO: publish page
Quando adicionam a web part a uma página, é necessário especificar a identificação da zone e o índice ao qual querem adicionar a web part dentro dessa zona.
Podem obter a identificação apropriada da zona procurando nas vossas masterpages/page layouts.