C#实现进度条(js版本和C#版本)

来源:互联网 发布:java jdbc 连接数据库 编辑:程序博客网 时间:2024/05/16 08:07

<HTML>    
  <HEAD>    
  <META   NAME="GENERATOR"   Content="Microsoft   Visual   Studio   6.0">    
  <TITLE></TITLE>    
  <SCRIPT   LANGUAGE=javascript>    
  <!--    
  var   myTime=0    
  function   counter(){    
    myTime++    
    per.innerHTML="<font   size=2   color=darkblue>     "+myTime+"%</font>"    
    if   (myTime<100)    
      setTimeout("counter()",40);      
    else{    
      window.open("http://www.sina.com.cn",null,"fullscreen=yes,channelmode=no,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no")    
    }    
  }    
  function   window_onload()   {    
    counter()    
  }    
   
  //-->    
  </SCRIPT>    
  </HEAD>    
  <BODY   LANGUAGE=javascript   onload="return   window_onload()">    
  <P>   </P>    
  <P>   </P>    
  <P>   </P>    
  <P>   </P>    
  <P>   </P>    
  <P>   </P>    
   
  <table   border="0"   cellpadding="0"   cellspacing="0"   width="50%"   align=center>    
      <tr>    
          <td   width="51%"   noWrap>    
              <p   align="right"><FONT   face=宋体   color=navy      
              size=2>正在加载:</FONT></p>       </td>    
          <td   width="4%"   bordercolor="#000000">    
              <marquee   align="middle"   direction="right"   scrolldelay="1"   bgcolor="gainsboro"   scrollamount="2"   style="BORDER-RIGHT:   black   1px   outset;   BORDER-TOP:   black   1px   outset;   FONT-SIZE:   xx-small;   BORDER-LEFT:   black   1px   outset;   WIDTH:   133px;   COLOR:   #000080;   BORDER-BOTTOM:   black   1px   outset;   HEIGHT:   13px"      
              behavior="slide"      
            >███████████████████████████████████████████████████████████████████████████████</marquee>    
          </td><td   width="45%"   align=left><div   id=per></div></td>    
      </tr>    
  </table>    
   
   
  </BODY>    
  </HTML> 

----------------------------------------------------------------------------------------------------------------------------

对于加载时间比较长的ASP.NET页面,我们可以在客户端浏览器中显示进度条来显示页面正在装载。下面就是具体的实现过程:

新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可;
在模板类型中选择ASP.NET Web应用程序;
位置里输入:http://localhost/WebPortal;
添加新项:名字为ShowProgress的Web窗体。
在您的Web窗体ShowProgress.aspx上添加任何其他的Web服务器控件。
在ShowProgress.aspx上单击右键,点“查看代码”,在最上面输入:
Visual C# .NET代码
using System.Threading;

Visual Basic .NET代码
Imports System.Threading

在Page_Load事件里输入: Visual C# .NET代码
Response.Write("<div id='mydiv' >");
Response.Write("_");
Response.Write("</div>");
Response.Write("<script>mydiv.innerText = '';</script>");
Response.Write("<script language=javascript>;");
Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;");
Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}");
Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ");
Response.Write("window.setInterval('ShowWait()',1000);}");
Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';");
Response.Write("window.clearInterval();}");
Response.Write("StartShowWait();</script>");
Response.Flush();
Thread.Sleep(10000);

Visual Basic .NET代码
Response.Write("<div id='mydiv' >")
Response.Write("_")
Response.Write("</div>")
Response.Write("<script>mydiv.innerText = '';</script>")
Response.Write("<script language=javascript>;")
Response.Write("var dots = 0;var dotmax = 10;function ShowWait()")
Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;")
Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}")
Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ")
Response.Write("window.setInterval('ShowWait()',1000);}")
Response.Write("function HideWait(){mydiv.style.visibility='hidden';")
Response.Write("window.clearInterval();}")
Response.Write("StartShowWait();</script>")
Response.Flush()
Thread.Sleep(10000)

在ShowProgress.aspx窗体的html的中输入:
<script>
HideWait();
</script>