【问题标题】:Showing jQuery progress bar during function execution在函数执行期间显示 jQuery 进度条
【发布时间】:2012-07-10 14:41:50
【问题描述】:

我有一个按钮点击功能,它完成了一系列任务。我想在完成每个任务后显示和更新进度条,比如说 25%、50%,同样,我正在使用 jQuery 进度条来实现这一点,并使用 4 个隐藏字段来存储不同的值,但进度条不会随着函数继续执行直接显示100%完成代码示例如下

<asp:Button ID="Button1" runat="server" Text="btnExecute" OnClientClick="return timeout_init();" OnClick="btnExecute_Click" />

代码隐藏:设置不同的隐藏字段值

protected void btnExecute_Click(object sender, EventArgs e)
    {
        //Ist level task complete
        hfProgressValue.Value = "25";
        Thread.Sleep(1000);

        //IInd level task completion
        ProgressValue1.Value = "50";
        Thread.Sleep(1000);

        //3rd level task 
        prg2.Value = "75";
        Thread.Sleep(1000);

        //4th level task
        hfprg3.Value = "100";
    }

javascript

function timeout_init() {

            var progressBarVal = $("input[id$='hfProgressValue']").val();
            var progressBarVal1 = $("input[id$='ProgressValue1']").val();
            var progressBarVal2 = $("input[id$='prg2']").val();
            var progressBarVal3 = $("input[id$='hfprg3']").val();

            if (progressBarVal != "") {
                $("#progressbar").progressbar({
                    value: parseInt(progressBarVal)
                });
            }
            if (progressBarVal1 != "") {
                $("#progressbar").progressbar({
                    value: parseInt(progressBarVal1)
                });
            }
            if (progressBarVal2 != "") {
                $("#progressbar").progressbar({
                    value: parseInt(progressBarVal2)
                });
            }
            if (progressBarVal3 != "") {
                $("#progressbar").progressbar({
                    value: parseInt(progressBarVal3)
                });
            }
            setTimeout('timeout_init()', 0);
        }

【问题讨论】:

    标签: jquery asp.net jquery-ui


    【解决方案1】:

    你需要使用ajax来

    1. 提交原始请求
    2. 轮询服务器以获取进度更新。

    进度需要存储在请求之外,以便每个请求都可以访问进度。

    【讨论】:

    • 这是在用户控件中,所以我不能使用页面方法,按钮也在更新面板中
    • 您将松开更新面板,但除此之外,服务器端呈现无关紧要。所有客户需要的是正确的网址。然后将这些 url 映射到服务器上的适当处理程序。是的,您将离开 webforms 模型以支持更真实的 HTTP 模型,但 asp.net 可以很好地处理 HTTP。
    猜你喜欢
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多