Отображение счетчика для вызова веб-службы (например, UpdateProgress Control) - PullRequest
1 голос
/ 04 февраля 2009

Прямо сейчас у меня есть страница, на которой, к сожалению, есть смесь панелей обновления и вызовов веб-сервисов / методов сценариев из JavaScript.

У меня есть элемент управления ходом обновления, который показывает счетчик для активности на панели обновления. Но когда я делаю звонки через веб-сервис, он не отображается.

Как бы вы порекомендовали мне решить эту проблему с удобством использования, поскольку взаимодействие с пользователем должно быть согласованным. Должен ли я подключиться к каждому вызову веб-службы, чтобы скрыть и показать div элемента updatecontrol?

1 Ответ

0 голосов
/ 04 февраля 2009

Ну, для начального рендеринга страницы и для синхронных обратных передач, элемент управления UpdateProgress не отображается. Итак, убедитесь, что ваша UpdatePanel обновляется асинхронно.

Кроме того, в нижней части связанной страницы показано, что вы должны иметь, чтобы контролировать, когда раскрутится счетчик.

Сказав это, это золотой путь Microsoft к решению вашей проблемы. Возможно, где-то в библиотеке ASP.NET Ajax есть ошибка, из-за которой не отображается счетчик.

Если вы исчерпали все возможности, попробуйте сделать это самостоятельно. Если вы переопределите методы JavaScript beginRequest и endRequest, вы можете контролировать, когда будет отображаться счетчик. Я бы, вероятно, сохранил любой предыдущий код в этих функциях в переменных вроде этого:

function addLoadEvent(func)
{
    var oldonload = window.onload;
    if(typeof window.onload != 'function')
    {
        window.onload = func;
    }
    else
    {
        window.onload = function()
        {
            oldonload();
            func();
        }
    }
}

Теперь, конечно, этот код предназначен для добавления новой функции в window.onload, но тот же метод может работать для beginRequest и endRequest.

Надеюсь, это поможет

...