У меня есть некоторая трудоемкая функция serveride, поэтому я пытаюсь выполнить каждую функцию шаг за шагом и информировать пользователя о ходе.UpdateProgress не отображается на частичной обратной передаче
Так что мой подход был:
- создать видимую кнопку, которая выполняет асинхронный постбэк и обрабатывать событие щелчка на ServerSide
- выполнить первую функцию
- обновление этикетки с информировать пользователя, если функция была успешно выполнена
- зарегистрировать javascript, который запускает событие click для второй невидимой кнопки (
Style="display: none"
), которая также регистрируется как асинхронный триггер для UpdatePanel - отправить страницу обратно клиенту и выполнить скрипт, нажмите кнопку Невидимого
- ручке кнопка кнопка информирует пользователь, зарегистрировать JS для третьей кнопки невидимой, выполнить кнопку кнопки мыши и так далее ...
Но проблема в том, что UpdateProgress-control не будет показан, хотя я правильно установил AssociatedUpdatePanelID. Все функции запускаются правильно, и метки обновляются, только UpdateProgress остается невидимым.
Посмотрите пожалуйста:
<asp:UpdateProgress ID="UpdateProgress1" DynamicLayout="true" runat="server" AssociatedUpdatePanelID="UpdFormPanel" DisplayAfter="0">
<ProgressTemplate>
<div class="progress">
<asp:Image ID="ImgProgress" runat="server" ImageUrl="~/images/ajax-loader-arrows.gif"
ToolTip="loading..." /> please wait...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdFormPanel" runat="server" UpdateMode="conditional" ChildrenAsTriggers="false">
<ContentTemplate>
....
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnShowUploadResult" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnExtractFile" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnShowResultView" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="btnShowUploadResult" runat="server" CausesValidation="false" Text="hidden" Style="display: none" />
<asp:Button ID="btnExtractFile" runat="server" CausesValidation="false" Text="hidden" Style="display: none" />
<asp:Button ID="btnShowResultView" runat="server" CausesValidation="false" Text="hidden" Style="display: none" />
На этом пути я регистрирующего JavaScript в кнопку щелкните событие обработчика:
AjaxControlToolkit.ToolkitScriptManager.RegisterStartupScript(Me.UpdFormPanel, GetType(String), "ShowResultView", "$get('" & Me.btnShowResultView.ClientID & "').click();", True)
Спасибо заранее.