Javascript函数只执行一次

时间:2017-03-17 12:10:24

标签: javascript c# jquery

我想要达到的目标是: 当从FTP服务器下载文件时,它应该向bootstrap进度条添加2%。

C#代码正常,文件下载但进度条停留在2%。

HTML和Javascript是可以正常工作的,但是当从代码中调用它时,它只执行一次。即bootstrap进度条仅移动到2%。

C#

int count=2;
using (WebClient ftpClient = new WebClient())
{
            ftpClient.Credentials = new System.Net.NetworkCredential("win10", "zzzz");

            for (int i = 0; i <= directories.Count - 1; i++)
            {

                if (directories[i].Contains("."))
                {

                    string path = "ftp://192.168.0.120/" + directories[i].ToString();
                    string trnsfrpth = @"E:\\ProjectLocalPath\" + directories[i].ToString();
                    ftpClient.DownloadFile(path, trnsfrpth);
                    ClientScript.RegisterStartupScript(this.GetType(), "lol", "javascript: updateProgress('" + count2 + "')", true);
                    count2 += 2;

                }



          }
}

HTML

<div id="div3" runat="server" class="progress progress-danger progress-striped progress progress_sm active" style="width: 425%;">
    <div id="e3" style="width: 0%;" class="bar" runat="server" role="progressbar">
    </div>
</div>

的Javascript

var _prevent;
    var percentage;
    function updateProgress(percentage) {
        _prevent = setInterval(function () {
            var $bar = $('.bar');
            if (percentage > 100) {
                percentage = 100;
                clearInterval(_prevent);
            }
            $bar.width(percentage);
            $bar.text(percentage + "%");
        },800);
    }
    window.clearInterval(_prevent);

1 个答案:

答案 0 :(得分:0)

来自MSDN的信息:

  

启动脚本由其密钥及其类型唯一标识。具有相同密钥和类型的脚本被视为重复。只能在页面中注册一个具有给定类型和密钥对的脚本。尝试注册已注册的脚本不会创建脚本副本。

换句话说,您需要为每个循环的迭代创建一个不同的键(而不仅仅是&#34; lol&#34;)。