Sto tentando di visualizzare un'immagine di caricamento in corso di aggiornamento ogni volta che il mio pannello di aggiornamento fa la cosa Ajax. Ho dato un'occhiata ai tutorial e sembra davvero semplice ma non ho fortuna. Qui è più o meno quello che ho ...Impossibile ottenere ASP.Net UpdateProgress per visualizzare
<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>
Ho anche qualche styling posizionamento assoluto in un foglio di stile. Ho provato un sacco di varianti di ciò che vedi qui e non ho trovato molte buone informazioni su quale potrebbe essere il problema. Qualche idea? Se hai bisogno di altro fammelo sapere.
EDIT: L'unica nuova informazione che ho trovato è che ...
"Nei seguenti scenari, il controllo UpdateProgress non viene visualizzata automaticamente:
Il controllo UpdateProgress è associato a una specifica pannello di aggiornamento, ma il postback asincrono risulta da un controllo che non si trova all'interno del pannello di aggiornamento
Il controllo UpdateProgress non è associato a nessun controllo UpdatePanel e il postback asincrono non risulta da un controllo che non si trova all'interno di un UpdatePanel e non è un grilletto. Ad esempio, l'aggiornamento viene eseguito nel codice. "
Sono abbastanza sicuro che nessuno di questi si adatti al mio caso. Tutto ciò che sta accadendo è che il pulsante (che si trova all'interno del pannello di aggiornamento) viene cliccato chiamando un codice dietro il quale set il testo URL essere ricaricato per il pannello di aggiornamento.
Si noti che il controllo UpdateProgress ha un parametro DisplayAfter che specifica un tempo in millisecondi che deve trascorrere prima che il suo contenuto venga visualizzato. Di default sono 500 millisecondi, quindi se l'operazione Ajax è più veloce di quella (e molti lo sono), non vedrai alcun indicatore di progresso. Per verificare ciò, è possibile introdurre un ritardo nell'elaborazione lato server utilizzando Threading.Thread.Sleep (1000) che si ritarderà per 1 secondo. Quindi si dovrebbe visualizzare il contenuto dell'aggiornamento dell'aggiornamento. Vedi https://blogs.msdn.microsoft.com/kashif/2006/11/08/updateprogress-control-in-asp-net-ajax/ –