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

对于加载时间比较长的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代码 <xmp>using System.Threading; </xmp>Visual Basic .NET代码 <xmp>Imports System.Threading </xmp>
  7. 在Page_Load事件里输入: Visual C# .NET代码 <xmp>Response.Write(&amp;quot; &amp;lt;div id='mydiv' &amp;gt;&amp;quot;); Response.Write(&amp;quot;_&amp;quot;); Response.Write(&amp;quot;&amp;lt;/div&amp;gt; &amp;quot;); Response.Write(&amp;quot; &amp;lt;script&amp;gt;mydiv.innerText = '';&amp;lt;/script&amp;gt; &amp;quot;); Response.Write(&amp;quot; &amp;lt;script language=javascript&amp;gt;;&amp;quot;); Response.Write(&amp;quot;var dots = 0;var dotmax = 10;function ShowWait()&amp;quot;); Response.Write(&amp;quot;{var output; output = '正在装载页面';dots++;if(dots&amp;gt;=dotmax)dots=1;&amp;quot;); Response.Write(&amp;quot;for(var x = 0;x &amp;lt;dots;x++){output += '.';}mydiv.innerText = output;}&amp;quot;); Response.Write(&amp;quot;function StartShowWait(){mydiv.style.visibility = 'visible'; &amp;quot;); Response.Write(&amp;quot;window.setInterval('ShowWait()',1000);}&amp;quot;); Response.Write(&amp;quot;function HideWait(){mydiv.style.visibility = 'hidden';&amp;quot;); Response.Write(&amp;quot;window.clearInterval();}&amp;quot;); Response.Write(&amp;quot;StartShowWait();&amp;lt;/script&amp;gt; &amp;quot;); Response.Flush(); Thread.Sleep(10000); </xmp>Visual Basic .NET代码 <xmp>Response.Write(&amp;quot; &amp;lt;div id='mydiv' &amp;gt;&amp;quot;) Response.Write(&amp;quot;_&amp;quot;) Response.Write(&amp;quot;&amp;lt;/div&amp;gt; &amp;quot;) Response.Write(&amp;quot; &amp;lt;script&amp;gt;mydiv.innerText = '';&amp;lt;/script&amp;gt; &amp;quot;) Response.Write(&amp;quot; &amp;lt;script language=javascript&amp;gt;;&amp;quot;) Response.Write(&amp;quot;var dots = 0;var dotmax = 10;function ShowWait()&amp;quot;) Response.Write(&amp;quot;{var output; output = '正在装载页面';dots++;if(dots&amp;gt;=dotmax)dots=1;&amp;quot;) Response.Write(&amp;quot;for(var x = 0;x &amp;lt;dots;x++){output += '&amp;amp;#183;';}mydiv.innerText = output;}&amp;quot;) Response.Write(&amp;quot;function StartShowWait(){mydiv.style.visibility = 'visible'; &amp;quot;) Response.Write(&amp;quot;window.setInterval('ShowWait()',1000);}&amp;quot;) Response.Write(&amp;quot;function HideWait(){mydiv.style.visibility='hidden';&amp;quot;) Response.Write(&amp;quot;window.clearInterval();}&amp;quot;) Response.Write(&amp;quot;StartShowWait();&amp;lt;/script&amp;gt; &amp;quot;) Response.Flush() Thread.Sleep(10000) </xmp>
  8. 在ShowProgress.aspx窗体的html的中输入: <xmp> &amp;lt;script&amp;gt; HideWait(); &amp;lt;/script&amp;gt; </xmp>
  9. 点在浏览器中查看即可。

你可能感兴趣的:(asp.net)