通过 javascript 调用时 UpdateProgress 不起作用

发布于 2024-12-11 19:13:11 字数 902 浏览 1 评论 0原文

当我单击更新面板中的按钮时,我可以看到更新进度,但是当我尝试通过 javascript $("#<%=LinkBut​​ton1.ClientID %>").click(); 执行此操作时未显示更新进度,但更新面板正在正确刷新。知道为什么更新进度不起作用吗?

<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>

When i click the button in the update panel i get to see the update progress but when i try to do this through javascript $("#<%=LinkButton1.ClientID %>").click(); updateprogress is not displayed, but update panel is getting refreshed properly. Any Idea why update progress is not working?

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三月梨花 2024-12-18 19:13:11

这是因为 Sys.Application 加载事件发生在页面的 DOM 完全加载之后。当您的脚本执行时,负责在尚未初始化的部分回发上显示 UpdateProgress 的客户端对象。
请尝试使用此脚本(将其放置在 ScriptManager 控件下方或页面末尾):

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

您还可以使用以下脚本延迟脚本执行:

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

This is because Sys.Application loaded event occurs after a page's DOM fully loaded. When your script executed the client-side objects responsible for showing UpdateProgress on partial postback not yet initialized.
Try this script instead (place it below the ScriptManager control or just at the page's end):

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

You also can delay your script execution with script below:

$(function () {
     setTimeout('$("#<%= Button1.ClientID %>").click();', 10);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文