Вероятно, десятки веских причин не делать это таким образом, а просто инициализировать страницу, добавлять usercontrol, а затем выполнять и выводить итоговый HTML-код, где бы он ни находился, - это (на мой взгляд) ошеломительно быстро и весело, что я просто должен упомянуть об этом ...
Пропустите UpdatePanels, просто используйте метку, обычный старый интервал или как насчет аббревиатуры ...
Использование JQuery на стороне клиента:
$('#SomeContainer').Load("default.aspx?What=GimmeSomeSweetAjax");
ServerSide:
if(Request.QueryString["What"]==GimmeSomeSweetAjax)
{
Page page = new Page();
Control control = (Control)LoadControl("~/.../someUC.ascx");
StringWriter sw = new StringWriter();
page.Controls.Add(control);
Server.Execute(page, sw, false);
Response.Write(sw.ToString());
Response.Flush();
Response.Close();
}
Больше ничего не выполняется, и жизненный цикл страницы имеет настоящий кеворкский момент; -)