Есть ли способ отключить UpdateProgress для некоторых асинхронных обратных передач? - PullRequest
1 голос
/ 10 июня 2011

У меня есть элемент управления UpdateProgress, который отображается как оверлей (с использованием CSS) для всех асинхронных событий для панели обновления.Теперь для некоторых событий команды строки EXPAND / COLLAPSE я просто не хочу показывать этот updateprogress.

Есть ли способ?

Ответы [ 2 ]

5 голосов
/ 10 июня 2011
<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);

    function InitializeRequest(sender, args) {
        var updateProgress = $get('UpdateProgress1');
        var postBackElement = args.get_postBackElement();
        if (postBackElement.id == '<%= Button1.ClientID %>') {
            updateProgress.control._associatedUpdatePanelId = 'dummyId';
        }
        else{
            updateProgress.control._associatedUpdatePanelId = null;
        }
    }

</script>
0 голосов
/ 31 марта 2017

Я обнаружил, что это работает для меня, когда Response.Redirect предотвращает перезагрузку исходной страницы и, следовательно, UpdateProgress не отключается ..

В элементе управления, вызывающем проблемы, добавьте

OnClientClick="disableProgress()"

и затем поместите этот javascript на страницу

<script type="text/javascript">

function disableProgress() {

var updateProgress = $get('<%=UpdateProgress1.ClientID%>');
var originalID = updateProgress.control._associatedUpdatePanelId;
updateProgress.control._associatedUpdatePanelId = 'dummyId';

setTimeout(function () { updateProgress.control._associatedUpdatePanelId = originalID; }, 1000);

}
</script>

Это временно отключает элемент управления UpdateProgress, а затем асинхронно активирует его на стороне клиента через 1 секунду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...