Estoy tratando de mostrar una imagen de carga de progreso de actualización cada vez que mi panel de actualización lo hace Ajax. He buscado tutoriales y parece muy sencillo, pero no tengo suerte. Aquí es más o menos lo que tengo ...No se puede obtener ASP.Net UpdateProgress para mostrar
<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>
también tengo algo de estilo posicionamiento absoluto en una hoja de estilo. He intentado varias variaciones de lo que ves aquí y no he encontrado mucha información buena sobre cuál puede ser el problema. ¿Algunas ideas? Si necesitas algo más házmelo saber.
EDIT: La única información nueva que he encontrado es que ...
"En los siguientes casos, el control UpdateProgress no se mostrará automáticamente:
El control UpdateProgress se asocia con una específica panel de actualización, pero los resultados de la devolución de datos asíncrona de un control que no está dentro de ese panel de actualización
El control UpdateProgress no está asociado con ningún control UpdatePanel, y la devolución de datos asíncrona no resulta de un control que no está dentro de un UpdatePanel y no es un desencadenar Por ejemplo, la actualización se realiza en código. "
Estoy bastante seguro de que ninguna de estas cosas encaja en mi caso. Todo lo que está sucediendo es el botón (que está dentro del panel de actualización) que hace clic en algún código detrás del cual es el texto conjunto de URL que ser recargada para el panel de actualización.
Tenga en cuenta que el control UpdateProgress tiene un parámetro DisplayAfter que especifica un tiempo en milisegundos que debe pasar antes de que se muestre su contenido. De forma predeterminada, es de 500 milisegundos, por lo que si su operación Ajax es más rápida que eso (y muchos lo son), entonces no verá ningún indicador de progreso. Para probar esto, puede introducir un retraso en el procesamiento del lado del servidor utilizando Threading.Thread.Sleep (1000), que se retrasará durante 1 segundo. Luego, debería ver el contenido del progreso de la actualización. Consulte https://blogs.msdn.microsoft.com/kashif/2006/11/08/updateprogress-control-in-asp-net-ajax/ –