• asp.net 实现进度条 用来显示加载进度或程序处理进度


        private void Page_Load(object sender, System.EventArgs e)
        {
            beginProgress();
            for (int i = 1; i <= 100; i++)
            {
                setProgress(i);
                //此处用线程休眠代替实际的操作,如加载数据等   
                System.Threading.Thread.Sleep(50);
            }
    
            finishProgress();
        }   
    
        private void beginProgress()
        {
            //根据ProgressBar.htm显示进度条界面   
            string templateFileName = System.IO.Path.Combine(Server.MapPath("."), "ProgressBar.htm");
            System.IO.StreamReader reader = new System.IO.StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("GB2312"));
            string html = reader.ReadToEnd();
            reader.Close();
            Response.Write(html);
            Response.Flush();
        }
    
        private void setProgress(int percent)
        {
            string jsBlock = "<script>SetPorgressBar('" + percent.ToString() + "'); </script>";
            Response.Write(jsBlock);
            Response.Flush();
        }
    
        private void finishProgress()
        {
            string jsBlock = "<script>SetCompleted();</script>";
            Response.Write(jsBlock);
            Response.Flush();
        }

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow">
    <head>
        <title>无标题页</title>
        <script language="javascript" type="text/javascript">
            function SetPorgressBar(pos) {
                //设置进度条居中
                var screenHeight = document.body.offsetHeight;
                var screenWidth = document.body.offsetWidth;
                document.getElementById("ProgressBarSide").style.width = Math.round(screenWidth / 2);
                document.getElementById("ProgressBarSide").style.left = Math.round(screenWidth / 4);
                document.getElementById("ProgressBarSide").style.top = Math.round(screenHeight / 2);
                document.getElementById("ProgressBarSide").style.height = "21px";
                document.getElementById("ProgressBarSide").style.display = "";
    
                //设置进度条百分比                       
                document.getElementById("ProgressBar").style.width = pos + "%";
                document.getElementById("ProgressText").innerHTML = pos + "%";
            }
    
            //完成后隐藏进度条
            function SetCompleted() {
                document.getElementById("ProgressBarSide").style.display = "none";
            }
         </script>  
    </head>
        <body>
        <div id="ProgressBarSide" style="position:absolute;height:21px;100px;color:Silver;border-1px;border-style:Solid;display:none">
            <div id="ProgressBar" style="position:absolute;height:21px;0%;background-color: green"></div>
            <div id="ProgressText" style="position:absolute;height:21px;100%;text-align:center"></div>
        </div>
        </body>
    </html>

  • 相关阅读:
    CTS、CLS、CLR分别作何解释?
    C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?
    net中读写数据库需要用到那些类?他们的作用?
    什么叫应用程序域?
    一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。
    override与重载的区别
    请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    求以下表达式的值,写出您想到的一种或几种实现方法: 12+34+……+m
    什么是强类型系统?
    在下面的例子里
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234385.html
Copyright © 2020-2023  润新知