0

我有一个 asp.net 应用程序,我正在尝试创建一个与系统一起运行的进度条,我正在使用 Java 脚本来进行更新进度,并想知道我将如何更新var update = 0;,这$("#progressbar").progressbar('value', update);在下面的代码中没有使用 for 循环,因为我已经准备好使用 for 循环和布尔值,系统会抛出一个长时间运行的程序的错误。其余的 java 脚本代码很糟糕,我想将其更新为 60;

被调用的 JavaScript

   $.updateProgressbar = function () {
        //Calling PageMethod for current progress
        PageMethods.OperationProgress(function (result) {

            //Updating progress
            $("#progressbar").progressbar('value', result.progress)
            //If operation is complete
            if (result.progress == 100) {
                //Enable button
                $("#Confirm_btn").attr('disabled', '');
            }
            //If not
            else {
                //Reset timer
                setTimeout($.updateProgressbar, 10);
            }
        });
    };

    $(document).ready(function () {
        //Progressbar initialization
        $("#progressbar").progressbar({ value: 0 });
        //Button click event
        $("#Confirm_btn").click(function (e) {

            e.preventDefault();

            //Disabling button
            $('#error').text("");
            $("#Confirm_btn").attr('disabled', 'disabled');

            var update = 0;


            //Making sure that progress indicate 0
            $("#progressbar").progressbar('value', update);
            //Call PageMethod which triggers long running operation
            PageMethods.Operation(function (result) {
                if (result) {
                    //Updating progress
                    $("#progressbar").progressbar('value', result.progress)
                    //Setting the timer
                    setTimeout($.updateProgressbar, 5);
                }
            });
        });
    });
4

2 回答 2

0

可以用来setInterval重复调用一个函数,这样这个函数就可以触发一个ajax函数或者简单的更新progresBar。这不会阻止您的程序。

于 2013-02-21T11:13:46.543 回答
0

PageMethods.OperationProgress 似乎没有在回调函数中返回正确的结果对象。这就是为什么您的应用程序无休止地运行以及为什么您的进度条没有更新的原因

于 2013-02-21T11:14:09.767 回答