对于加载时间比较长的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'">"); <br />Response.Write("_"); <br />Response.Write("</div>");<br />Response.Write("<script>mydiv.innerText = '';</script>"); <br />Response.Write("<script language="javascript">;"); <br />Response.Write("var dots = 0;var dotmax = 10;function ShowWait()"); <br />Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;"); <br />Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}");<br />Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; "); <br />Response.Write("window.setInterval('ShowWait()',1000);}"); <br />Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';"); <br />Response.Write("window.clearInterval();}"); <br />Response.Write("StartShowWait();</script>"); <br />Response.Flush(); Thread.Sleep(10000);
Visual Basic .NET代码Response.Write("<div id="'mydiv'">") <br />Response.Write("_") Response.Write("</div>") <br />Response.Write("<script>mydiv.innerText = '';</script>") <br />Response.Write("<script language="javascript">;") <br />Response.Write("var dots = 0;var dotmax = 10;function ShowWait()") <br />Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;") <br />Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}") <br />Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ") <br />Response.Write("window.setInterval('ShowWait()',1000);}") <br />Response.Write("function HideWait(){mydiv.style.visibility='hidden';") <br />Response.Write("window.clearInterval();}") <br />Response.Write("StartShowWait();</script>") <br />Response.Flush() Thread.Sleep(10000)
- 在ShowProgress.aspx窗体的html的中输入:
<script> HideWait(); </script>
- 点在浏览器中查看即可。
-------摘自孟宪会的blog