ASP.NET: Atualizando manualmente um UpdatePanel usando jQuery
Estou tendo problemas com a atualização de um ASP: UpdatePanel usando javascript (jQuery). Aqui está o que eu tenho.
Eu estou usando o truque de botão oculto como não parece ser capaz de obter o ClientID do painel de atualização para um truque __doPostBack).
<asp:UpdatePanel runat="server" ID="pnlUpdate">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpdate" />
</Triggers>
<ContentTemplate>
<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="pnlUpdate" DynamicLayout="false" DisplayAfter="100">
<ProgressTemplate>
<img alt="Laddar..." src="img/loader.gif" width="16" height="11"/>
</ProgressTemplate>
</asp:UpdateProgress>
<div style="display:none;">
<asp:Button runat="server" ID="btnUpdate" CommandName="Refresh" CommandArgument='<%# Eval("Id") %>'/>
</div>
<asp:Repeater runat="server" Id="rptrEnquiry">
...
</asp:Repeater>
<%= DateTime.Now.ToString() %>
<a href="javascript:jQuery('#<%= btnUpdate.ClientID %>').trigger('click')&&undefined;">Fire!</a>
</ContentTemplate>
</asp:UpdatePanel>
No code-behind que manipula o btnUpdate (em um RowCommand GridView) o rptrEnquiry é rebound quando btnUpdate é pressionado.
Se eu pressionar o botão diretamente (embora não oculto), tudo funcionará perfeitamente (updateprogess é mostrado, data de atualização e repetidor atualizado.
Mas se eu clicar no link de disparo e acionar o botão através do javascript apenas a data é atualizada, mas o updateprogress não é mostrado e o repetidor não é rebatido. Durante a depuração, posso ver que o código de recuperação é executado, mas o efeito não está na atualização.