2011-10-25 3 views
1

Когда я нажимаю кнопку на панели обновления, я могу увидеть прогресс обновления, но когда я попытаюсь сделать это через javascript $ ("# <% = LinkButton1.ClientID%>"). нажмите(); updateprogress не отображается, но панель обновления обновляется должным образом. Любая идея, почему обновление прогресса не работает?UpdateProgress Не работает при вызове через javascript

<asp:UpdatePanel runat="server" ID="UpdPnl1" UpdateMode="Conditional" > 
    <ContentTemplate> 
     <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="click"/> 
     <asp:PlaceHolder ID="Place1" runat="server"></asp:PlaceHolder> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdateProgress ID="updQuoteProgress" runat="server" AssociatedUpdatePanelID="UpdPnl1" DisplayAfter="0"> 
     <ProgressTemplate>Loading...</ProgressTemplate>  
</asp:UpdateProgress> 

    <script type="text/javascript">  
     $(document).ready(function() { 
      $("#<%=Button1.ClientID %>").click(); 
     }) 
    </script> 
+0

Я попробовал ваш код без изменений , и «Загрузка ...» Отображается – AFD

+0

На основе ответа от @Yuriy. В вашем случае скрипт мог быстро загрузиться, на моей реальной странице приложения тяжело, и в нем много javascript. – user841683

+0

Я сделал это, чтобы спать, так что нет. В любом случае, я больше не использую UpdatePanel, слишком много проблем с ним. – AFD

ответ

4

Это связано с тем, что событие загрузки Sys.Application происходит после полной загрузки DOM страницы. Когда ваш скрипт выполнил клиентские объекты, ответственные за показ UpdateProgress на частичной обратной передаче, еще не инициализированной. Попробуйте этот скрипт вместо (поместите его под контролем ScriptManager или просто в конце страницы):

<script type="text/javascript"> 
    Sys.Application.add_load(function() { $("#<%= Button1.ClientID %>").click(); }); 
</script> 

Вы также можете задержать выполнение Вашего сценария с помощью сценария ниже:

$(function() { 
    setTimeout('$("#<%= Button1.ClientID %>").click();', 10); 
}); 
+0

отлично, он работал – user841683

Смежные вопросы