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

http://dotnet.aspx.cc/article/794566b9-5ea2-4782-2d42-e133f3c7ba74/read.aspx
对于加载时间比较长的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;

在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);

在ShowProgress.aspx窗体的html的中输入: 
<script>
HideWait();
</script>
点在浏览器中查看即可。 

测试之后数据
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            System.Data.DataTable dt = new System.Data.DataTable();
            System.Data.DataRow dr;
            dt.Columns.Add(new System.Data.DataColumn("id", typeof(Int32)));
            dt.Columns.Add(new System.Data.DataColumn("PkID", typeof(string)));
            dt.Columns.Add(new System.Data.DataColumn("Title", typeof(string)));
            for (int i = 0; i < 6; i++)
            {
                dr = dt.NewRow();
                dr[0] = i;
                dr[1] = "123456789123456789123456789";
                dr[2] = "<a href='http://dotnet.aspx.cc/'>欢迎光临【孟宪会之精彩世界】</a>";
                dt.Rows.Add(dr);
            }
            System.Data.DataView dv = new System.Data.DataView(dt);
            //return dv;

            
            GridView1.BorderWidth = Unit.Pixel(2);
            GridView1.BorderColor = System.Drawing.Color.DarkOrange;
            GridView1.DataSource = dv;
            GridView1.DataBind();

            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);
        }
       

    }


<head runat="server">
    <title>将 GridView 导出到 Excel 文件中</title>
    <script>
HideWait();
</script>

</head>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值