Tuesday, 3 November 2015

How to add Content Editor Web Part in a SharePoint page programmatically?


using MSWPP = Microsoft.SharePoint.WebPartPages;
using SWUWW = System.Web.UI.WebControls.WebParts;

public  string AddWebPartToPage(SPWeb web, string pageUrl, string webPartName, string zoneID, int zoneIndex)
        {
            try
            {
                string iD;
                using (MSWPP.SPLimitedWebPartManager limitedWebPartManager = web.GetLimitedWebPartManager(pageUrl, SWUWW.PersonalizationScope.Shared))
                {
                    using (SWUWW.WebPart webPart = createContentWebPart())
                    {
                        limitedWebPartManager.AddWebPart(webPart, zoneID, zoneIndex);
                        iD = webPart.ID;
                    }
                }
                return iD;
            }
            catch (Exception ex)
            {
                using (StreamWriter streamWriter = File.AppendText("log.WebPart.txt"))
                {
                    Log("Error: " + "Add WebPart Exception: " + ex.Message, streamWriter);
                }
                return null;
            }
        }


public  MSWPP.ContentEditorWebPart createContentWebPart()
        {
            try
            {
                MSWPP.ContentEditorWebPart contentWebPart = new MSWPP.ContentEditorWebPart();
                //Set properties of new webpart object  
                contentWebPart.ZoneID = "TOP";
                contentWebPart.Title = "Migration Status";
                contentWebPart.ChromeState = System.Web.UI.WebControls.WebParts.PartChromeState.Normal;
                contentWebPart.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.None;

                //Add content to CEWP
                XmlDocument xmlDoc = new XmlDocument();
                XmlElement xmlElement = xmlDoc.CreateElement("Root");
                xmlElement.InnerText = @"<div style=""border:dashed;border-width:1px;padding:4px;font-family:calibri;font-size:12px;"">" +
                    "<b>MIGRATED</b><br/>" +
                    "</div>";
                contentWebPart.Content = xmlElement;
                contentWebPart.Content.InnerText = xmlElement.InnerText;

                return contentWebPart;
            }
            catch (Exception ex)
            {
                return null;
            }
        }

No comments:

Post a Comment