对于加载时间比较长的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> - 点在浏览器中查看即可。
public class ManagerPageTemplate : System.Web.UI.Page
{
protected override void OnLoad(EventArgs e)
{
// if(Session["UserLevel"] == null)
// Response.Write("<script lanuage=''javascript''>window.top.location.href=''../index.aspx'';</script>");
// else
// {
// switch(Session["UserLevel"].ToString())
// {
// case "操作员":
// Response.Write("<script lanuage=''javascript''>window.top.location.href=''../index.aspx'';</script>");
// break;
// case "管理员":
// break;
// }
// }
if (!Page.IsPostBack)
{
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 = 5;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);
base.OnLoad(e);
}
}
}
上边的代码最好放在这里边……否则每次加载时都会出来 比较讨厌
本文介绍如何在ASP.NET应用中实现在页面加载过程中显示进度指示的方法。通过在客户端浏览器显示动态更新的文本提示,可以提升用户体验。具体实现包括使用JavaScript定时更新页面元素以显示加载状态。
1482

被折叠的 条评论
为什么被折叠?



