Tuesday, 19 June 2012

Add Webpart programmatically publishing page

Sample code for how to add a WP programmatically......

using (SPSite objsite = new SPSite(SPContext.Current.Site.ID))
            {

                PublishingWeb pweb = PublishingWeb.GetPublishingWeb(objsite.RootWeb);
                XmlTextReader reader = new XmlTextReader(new StringReader(objsite.RootWeb.GetFileAsString(pweb.Url + "/_catalogs/wp/VisualWebPart1.webpart")));
                SPFile objpage = objsite.RootWeb.GetFile("Pages/TestWebpart.aspx");
                if(objpage.CheckOutType == SPFile.SPCheckOutType.None)
                    objpage.CheckOut();
               
                SPLimitedWebPartManager objWebPartManager = objpage.GetLimitedWebPartManager(PersonalizationScope.Shared);
                VisualWebPart1 objwebpart = new VisualWebPart1();
                objwebpart.Title = "Added programatically";
                objWebPartManager.AddWebPart(objwebpart, "CenterColumn", 0);
                objpage.CheckIn(string.Empty);
                objpage.Publish(string.Empty);
            }
 

1 comment: