使用javascript刷新UpdatePanel时,UpdateProgress不会显示

时间:2012-01-24 17:24:56

标签: asp.net .net ajax webforms updatepanel

我有一个UpdatePanel,在更新面板中我有一个按钮。 updatepanel还有一个与之关联的updateprogress控件,以便在updatepanel进行回发时显示加载图形。

如果单击更新面板中的按钮,则进度加载器显示正常。但是,如果我使用jQuery选择按钮并执行.click(),则加载程序不会显示。面板确实回发并正确加载内容,但不会触发进度加载器。

为什么会出现这种想法?

2 个答案:

答案 0 :(得分:1)

我刚试过你的情景。它在这里工作正常。

这是html

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:UpdateProgress runat="server" ID="UpdateProgress1">
                <ProgressTemplate>
                    <img src="Images/ajax-loader.gif" />
                </ProgressTemplate>
            </asp:UpdateProgress>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        </ContentTemplate>
    </asp:UpdatePanel>

    <input id="btnTest" title="JQuery Click" onclick="ClickButton1()" type="button"  value="JQuery Click" />

    <script type="text/javascript">
        function ClickButton1() {     
      //  alert('#<%=Button1.ClientID %>');
        $('#<%=Button1.ClientID %>').click();
        }
    </script>

以下是显示加载图片5秒钟的后端代码

 protected void Button1_Click(object sender, EventArgs e)
 {
    Thread.Sleep(5000);
 }

答案 1 :(得分:0)

我从来没有找到这个问题的答案,但没关系。我了解到更新面板仅出于某种原因一次只发出一个请求。页面生命周期和视图状态不能被破坏,因此异步请求一次只能进行一次。

获胜的MVC。