对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?

解决方案 »

  1.   

    对于加载时间比较长的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;<br />Visual Basic .NET代码 
    Imports System.Threading<br />在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();<br />
    Thread.Sleep(10000);<br />Visual Basic .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()<br />
    Thread.Sleep(10000)<br />在ShowProgress.aspx窗体的html的中输入: 
    <script><br />
    HideWait();<br />
    </script><br />点在浏览器中查看即可。 
      

  2.   

    取消了缓冲
    带来了性能问题
    少用。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2