我想在aspx网页访问数据库时,添加进度条,哪位达人能提供源码参考,谢谢!

解决方案 »

  1.   

    <style type="text/css">
    body{
    margin:0px;padding:0px;font-size:12px;overflow-y:hidden;z-index:0;height:100%;
    }
    #yin{  }</style>
    <script type="text/javascript">
    window.onload=function(){
    var a = document.getElementById("loading");
      //var b = document.getElementById("backloading");
      a.parentNode.removeChild(a);
      //b.parentNode.removeChild(b); 
      
    }
    document.write('<div id="loading" style="position: absolute; filter: alpha(opacity=35); left: 0px; top: 0px; width:'+document.body.clientWidth+';height: '+document.body.clientHeight+'; z-index: 1; background-color: #66CC33; layer-background-color: #66CC33;border: 1px none #000000;">');;
    document.write('<div align="center"><table height="100%"><tr><td valign="middle" align="center">');
    document.write('<div  style="background: Red; color: #FFF; width: 217px; padding-left: 0px;position: absolute; line-height: 22px; z-index: 30;"><img src="/OASys/Ajax/UserReg/progressbar_green.gif"/></div>');
    document.write('</td></tr></table></div></div>');</script>
      

  2.   


    http://www.codeproject.com/aspnet/PleaseWaitButton.asp
      

  3.   

    这里应该有你需要的:
    http://dotnet.aspx.cc/article/794566b9-5ea2-4782-2d42-e133f3c7ba74/read.aspx
      

  4.   

    精确的计算进度比较麻烦。你可以用一个标签、一个LOADING的图片来模拟进度,用AJAX来控制就可以了。
      

  5.   

    建一个HTML网页:
    源码如下:
    <html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow">
    <head>
        <title>无标题页</title>
        <script language="javascript" type="text/javascript">
            function SetPorgressBar(pos)
            {
                //设置进度条居中
                var screenHeight = window["mainWindow"].offsetHeight;
                var screenWidth = window["mainWindow"].offsetWidth;
                ProgressBarSide.style.width = Math.round(screenWidth / 4);
                ProgressBarSide.style.left = Math.round(screenWidth / 3);
                ProgressBarSide.style.top = Math.round(screenHeight / 2);
                ProgressBarSide.style.height = "21px";
                ProgressBarSide.style.display = "";            //设置进度条百分比                       
                ProgressBar.style.width = pos + "%";
                ProgressText.innerHTML = "正在加载,请稍后....." + pos + "%";
            }        //完成后隐藏进度条
            function SetCompleted()
            {       
                ProgressBarSide.style.display = "none";
                MyTable.style.display="none";
            }
         </script>  
    </head>
    <body>
        <!--<div id="mydiv" style="width: 224px">数据处理中....</div>-->
            <div id="ProgressBarSide" style="position:absolute;height:21px;width:100px;color:Silver;border-width:1px;border-style:Solid;display:none">
            <div id="ProgressBar" style="position:absolute;height:21px;width:0%;background-color:PaleTurquoise"></div>
            <div id="ProgressText" style="position:absolute;height:21px;width:100%;text-align:center"></div>
            
        </div>
        </body>
    </html>
    然后在你要加载显示的页面Page_Load:if (!Page.IsPostBack)

        beginProgress();    for (int i = 1; i <= 100; i++)
        {
            setProgress(i);        //此处用线程休眠代替实际的操作,如加载数据等
             System.Threading.Thread.Sleep(20);
            }        finishProgress(); 
    }函数区:/// <summary>
        ///显示进度条
        /// </summary>    private void beginProgress()
        {
            //根据ProgressBar.htm显示进度条界面
            string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
            StreamReader reader = new 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();
        }