Adding web parts is programmatically simple:
SPWeb site = SPContext.Current.Web; SPFile page = web.GetFile("Pages/somepage.aspx"); using (SPLimitedWebPartManager webPartManager = page.GetLimitedWebPartManager(PersonalizationScope.Shared)) { try { // logic to get web parts here. ContentEditorWebPart webPart = new ContentEditorWebPart(); webPart.Title = "Test Web Part"; webPartManager.AddWebPart(webPart, "Zone 1", 0); } finally { // SPLimitedWebPartManager has known memory leak where it does not dispose SPRequest object in its SPWeb, so dispose it webPartManager.Web.Dispose(); } }
source share