protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if(_headerTemplate != null) {
_headerControl = new Control();
_headerTemplate.InstantiateIn(_headerControl);
Controls.Add(_headerControl);
}
if(_contentTemplate == null)
return;
var c = new Control();
_contentTemplate.InstantiateIn(c);
if(_owner.OnDemand && OnDemandMode != OnDemandMode.None) {
var invisiblePanelID = ClientID + "_onDemandPanel";
var invisiblePanel = new Panel() {
ID = invisiblePanelID,
Visible = false
};
invisiblePanel.Controls.Add(c);
var updatePanel = new UpdatePanel() {
ID = ClientID + "_updatePanel",
UpdateMode = UpdatePanelUpdateMode.Conditional
};
updatePanel.Load += UpdatePanelOnLoad;
updatePanel.ContentTemplateContainer.Controls.Add(invisiblePanel);
Controls.Add(updatePanel);
UpdatePanelID = updatePanel.ClientID;
} else {
Controls.Add(c);
}
}