無法讓 ASP.Net UpdateProgress 顯示
每當我的更新面板執行 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 "Generate" 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>我在樣式表中也有一些絕對定位樣式。我已經嘗試了您在此處看到的各種變體,但沒有找到很多關於可能是什麼問題的好資訊。有任何想法嗎?如果您還需要什麼,請告訴我。
**編輯:**我發現的唯一新資訊是……
“在以下情況下,UpdateProgress 控制項將不會自動顯示:
UpdateProgress 控制項與特定更新面板相關聯,但非同步回發來自不在該更新面板內的控制項。
UpdateProgress 控制項不與任何 UpdatePanel 控制項關聯,並且非同步回發不是由不在 UpdatePanel 內且不是觸發器的控制項產生的。例如,更新是在程式碼中執行的。”
我非常有信心這些都不適合我的情況。所發生的只是點擊按鈕(位於更新面板內)呼叫一些程式碼,在該程式碼後面設置要為更新面板重新載入的 URL 文本。
UpdateProgressPanel 也有同樣的問題。我發現當您放置 UpdateProgressPanel 並將其關聯到 UpdatePanel 時,來自該 UpdatePanel 的任何回發都會導致 UpdateProgressPanel 顯示。
另一個技巧是,如果頁面上有一個 UpdatePanel,則刪除 AssociatedUpdatePanel 參數,這將導致 UpdateProgressPanel 顯示發生的每個 Async PostBack。
UpdateProgressPanel 可以放在程式碼中的任何位置,除了那些上面有預定義標籤的區域。它可以放置在 UpdatePanel 內部或外部,它會顯示您是否正確放置了它的 CSS、將其關聯到 UpdatePanel 或只是將其放置在那裡,如果發生非同步回發結果,它將顯示出來。
不要將更新進度控制項放在更新面板控制項中