无法显示ASP.Net UpdateProgress

Car*_*ter 7 asp.net ajax updatepanel loader

每当我的更新面板执行Ajax操作时,我都会尝试显示更新进度加载图像.我看了一下教程,看起来很简单,但我没有运气.这几乎是我的......

<div id="panelWrapper">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:UpdateProgress ID="TaskUpdateProgress" runat="server" DynamicLayout="False" AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="0">
            <ProgressTemplate>
                <asp:Image ImageUrl="~/Images/ajax-loader.gif" Width="16px" Height="16px" runat="server" ID="TaskLoadingImage"/>
            </ProgressTemplate>
        </asp:UpdateProgress>

        <div id="UrlDiv" class="URLNotification">
            <asp:Label ID="UrlLabel" runat="server" Text="URL:" AssociatedControlID="Url" />
            <asp:HyperLink ID="Url" runat="server" Text="Click &quotGenerate" to create the URL." />
        </div>

        <br />

        <asp:CheckBoxList runat="server" ID="IncludeItems" TextAlign="Right">
            <asp:ListItem Selected="True">Include 1</asp:ListItem>
            <asp:ListItem Selected="True">Include 2</asp:ListItem>
        </asp:CheckBoxList>

        <br />

        <div id="buttons" style="display:inline;">
            <asp:Button ID="Generate" runat="server" OnClicked="Generate_Clicked" Text="Generate" />
            <asp:Button ID="Add" runat="server" OnClientClick="add();" Text="Add"/>  
        </div>
    </ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

我在样式表中也有一些绝对定位样式.我已经尝试了一些你在这里看到的变化,并没有找到很多关于可能是什么问题的好信息.有任何想法吗?如果您还有其他需要,请告诉我.

编辑:我发现的唯一新信息是......

"在以下场景中,UpdateProgress控件不会自动显示:

UpdateProgress控件与特定的更新面板关联,但异步回发的结果来自不在该更新面板内的控件.

UpdateProgress控件与任何UpdatePanel控件都没有关联,并且异步回发不是由不在UpdatePanel内且不是触发器的控件引起的.例如,更新是在代码中执行的."

我非常有信心这些都不适合我的情况.所有发生的事情都是单击按钮(位于更新面板内),调用一些代码,后面的代码是要为更新面板重新加载的URL文本.

Roy*_*uta 6

我的UpdateProgressPanel也有同样的问题。我发现,当您放置一个UpdateProgressPanel并将其关联到UpdatePanel时,该UpdatePanel的任何回发都将导致UpdateProgressPanel显示。

另一个技巧是,如果页面上只有一个UpdatePanel,则删除AssociatedUpdatePanel参数,这将导致UpdateProgressPanel显示发生的每个异步回发。

可以将UpdateProgressPanel放置在代码中的任何位置,但上面带有预定义标签的区域除外。可以将其放置在UpdatePanel的内部或外部,并显示是否正确放置了CSS,将其关联到UpdatePanel或仅将其放置在UpdatePanel处,并且如果发生异步回发结果,它将显示。


Car*_*ter 2

我想我知道发生了什么事。问题不在于我对 UpdateProgress 或面板做错了什么。这是因为我在后台加载了其他内容,这显然阻碍了 UpdatePanel 的 Ajaxyness。

所以基本上发生的事情是加载图标不会在初始页面加载时显示。我意识到这一点是因为我实际上等到页面上的所有内容完全加载后才触发按钮。果然装载机出现了。

我假设至少会在听到单击事件时请求更新面板刷新,因此加载程序图标会在加载其他内容时立即显示。但情况似乎并非如此......