Вы можете разместить скрытую кнопку внутри панели обновлений и сделать PostBack для этой кнопки.
Это не элегантное решение, но оно отлично работает.
Внутри панели обновлений вы напишите что-то вроде этого.
<div style="visibility:hidden">
<asp:Button ID="btnLoad" OnClick="btnLoad_Click" runat="server"/>
</div>
В вашем событии Page_Load вы должны зарегистрировать скрипт для PostBack:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "InitialLoad" + this.ClientID, Page.ClientScript.GetPostBackEventReference(btnLoad, "")+";", true);
}
}
Затем вы можете написать код, который будет выполняться при запуске, в методе btnLoad_Click (событие OnClick для кнопки).
Я попробовал другой подход с использованием таймера AJAX и отключением его на первом тике, но иногда я получаю более одного тика до выполнения кода, поэтому я отказался от этого решения.