Как рассчитать прогресс UpdatePanel? - PullRequest
1 голос
/ 18 июля 2011

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

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Вы можете подписаться на обратные вызовы beginRequest и endRequest и рассчитать прошедшее время между ними.

function pageLoad() {
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    if (manager != null) {
        manager.add_beginRequest(Request_Begin);
        manager.add_endRequest(Request_End);
    }
}

function Request_Begin(sender, args)
{
    // TODO: start your timer here (new Date())
}

function Request_End(sender, args) {
    // TODO: get the current date and measure the difference
    // with theone obtained in the beginRequest
}

Следующая строка поможет вам в реализации TODO, которые я оставил в своем коде.

0 голосов
/ 21 июля 2011

Во-первых, я хотел бы поблагодарить @Darin за поддержку, это было здорово!С предложением @darin я мог бы сделать свою цель с некоторой математикой, включенной ниже:

    function get_time_difference(earlierDate, laterDate) {
    var nTotalDiff = laterDate.getTime() - earlierDate.getTime();
    var oDiff = new Object();

    oDiff.minutes = Math.floor(nTotalDiff / 1000 / 60);
    nTotalDiff -= oDiff.minutes * 1000 * 60;

    oDiff.seconds = Math.floor(nTotalDiff / 1000);
    oDiff.milliseconds = Math.floor(nTotalDiff * 1000);

    return oDiff;
}

var timeInit;
var timeFinal;

function pageLoad() {
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    if (manager != null) {
        manager.add_beginRequest(Request_Begin);
        manager.add_endRequest(Request_End);
    }
}

function Request_Begin(sender, args) {
    timeInit = new Date();  
}

function Request_End(sender, args) {        
    timeFinal = new Date();
    var diff = get_time_difference(timeInit, timeFinal);
    alert('Minutes: ' + diff.minutes + '\nSeconds: ' + diff.seconds + '.' + diff.milliseconds);        
}

Надеюсь, это будет полезно для других разработчиков.Спасибо!

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