Como adicionar uma content editor web part programaticamente

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.

Nuno Freitas
Publicado por Nuno Freitas em 30 setembro, 2013

Artigos relacionados