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 "";
}