Ext.Net.BorderLayoutDesigner.GetEditableDesignerRegionContent C# (CSharp) Method

GetEditableDesignerRegionContent() private method

private GetEditableDesignerRegionContent ( System.Web.UI.Design.EditableDesignerRegion region ) : string
region System.Web.UI.Design.EditableDesignerRegion
return string
        public override string GetEditableDesignerRegionContent(EditableDesignerRegion region)
        {
            IDesignerHost host = (IDesignerHost)this.Component.Site.GetService(typeof(IDesignerHost));

            if (host != null)
            {
                string[] parameters = region.Name.Split('_');

                if (parameters.Length == 3 && parameters[0] == "Body")
                {
                    BorderLayoutRegion layoutRegion = this.GetLayoutRegionByName(parameters[1]);

                    if (layoutRegion != null && layoutRegion.Items.Count > 0)
                    {
                        int activeIndex = int.Parse(parameters[2]);
                        IContent contentPanel = null;

                        if (layoutRegion.Items[0] is Panel)
                        {
                            contentPanel = layoutRegion.Items[0] as Panel;
                        }
                        else if (layoutRegion.Items[0] is TabPanel)
                        {
                            TabPanel tabPanel = layoutRegion.Items[0] as TabPanel;

                            if (activeIndex < tabPanel.Items.Count)
                            {
                                contentPanel = tabPanel.Items[activeIndex] as IContent;
                            }
                        }

                        if (contentPanel == null)
                        {
                            return "";
                        }

                        ITemplate contentTemplate = contentPanel.Content;

                        if (contentTemplate != null)
                        {
                            return ControlPersister.PersistTemplate(contentTemplate, host);
                        }
                    }
                }
            }

            return "";
        }