Microsoft . 技术之路...

—— 专注于微软技术, 分享是快乐的源泉......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何在ASP.NET页面客户端显示进度?

Posted on 2006-12-04 18:08  赣江源  阅读(180)  评论(0编辑  收藏  举报

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

  1. 新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可;
  2. 在模板类型中选择ASP.NET Web应用程序;
  3. 位置里输入:http://localhost/WebPortal;
  4. 添加新项:名字为ShowProgress的Web窗体。
  5. 在您的Web窗体ShowProgress.aspx上添加任何其他的Web服务器控件。
  6. 在ShowProgress.aspx上单击右键,点“查看代码”,在最上面输入:
    Visual C# .NET代码 using System.Threading; Visual Basic .NET代码 Imports System.Threading
  7. 在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)
  8. 在ShowProgress.aspx窗体的html的中输入: <script> HideWait(); </script>
  9. 点在浏览器中查看即可。