This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
public void AddControlToPage(string pageTitle, string placeHolder, string caption) { var pageManager = PageManager.GetManager(); var page = pageManager.GetPageNodes().Where(p => p.Title == pageTitle).SingleOrDefault(); if (page != null) { var temp = pageManager.EditPage(page.Page.Id); Guid controlID = Guid.NewGuid(); if (temp != null) { var pageControl = pageManager.CreateControl<PageDraftControl>(controlID); pageControl.Caption = caption; pageControl.ObjectType = "Telerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity"; pageControl.PlaceHolder = placeHolder; pageControl.IsLayoutControl = true; pageManager.SetControlDefaultPermissions(pageControl); var prop = pageManager.CreateProperty(); prop.Name = "Layout"; prop.Value = "~/SFRes/Telerik.Sitefinity.Resources.Templates.Layouts.Column1Template.ascx"; pageControl.Properties.Add(prop); temp.Controls.Add(pageControl); pageManager.PagesLifecycle.CheckIn(temp); pageManager.SaveChanges(); var bag = new Dictionary<string, string>(); bag.Add("ContentType", typeof(PageNode).FullName); WorkflowManager.MessageWorkflow(page.Id, typeof(PageNode), null, "Publish", false, bag); } } }var pageControl = pageManager.CreateControl<PageDraftControl>(controlID); pageControl.Caption = caption; pageControl.ObjectType = "Telerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity";pageControl.IsLayoutControl = true;var prop = pageManager.CreateProperty(); prop.Name = "Layout"; prop.Value = "~/SFRes/Telerik.Sitefinity.Resources.Templates.Layouts.Column1Template.ascx"; pageControl.Properties.Add(prop);public void QueryLayoutControls(string pageTitle) { var pageManager = PageManager.GetManager(); var page = pageManager.GetPageNodes().Where(p => p.Title == pageTitle).SingleOrDefault(); if (page != null) { Guid controlID = Guid.NewGuid(); //find layout control on a page by one of the shown properties var pageControls = pageManager.GetControls<PageDraftControl>() .Where(c=>c.ObjectType.Equals("Telerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity") && c.Caption.Equals("100%") && c.IsLayoutControl == true); foreach (var control in pageControls) { var placeholder = control.PlaceHolder; var placeholders = control.PlaceHolders; var property = control.Properties; var cap = control.Caption; //here you can the name of the .ascx file used for this control var nameProp = property.Where(pro=> pro.Name.Equals("Layout")); } } }ObjectType.Equals("Telerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity")c.Caption.Equals("100%")var placeholders = control.PlaceHolders;Subscribe to get all the news, info and tutorials you need to build better business apps and sites