У меня проблемы с обновлением ASP: UpdatePanel с использованием javascript (jQuery). Вот что у меня есть.
Я использую скрытый трюк с кнопкой, так как мне кажется, что я не могу получить ClientID панели обновлений для трюка __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>
В коде, который обрабатывает btnUpdate (в GridView RowCommand), rptrEnquiry восстанавливается при нажатии btnUpdate.
Если я нажимаю кнопку напрямую (пока не скрыто), все работает отлично (отображается updateprogess, обновляется дата и ретранслятор обновляется.
Но если я нажму на ссылку огня и активирую кнопку через javascript, обновится только дата, но прогресс обновления не отобразится, а ретранслятор не восстановится. Во время отладки я вижу, что код восстановления выполнен, но его эффект отсутствует в обновлении.