转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
在 Asp.Net Web 应用程序中长时间装载页面时显示进度条         ★★★★

在 Asp.Net Web 应用程序中长时间装载页面时显示进度条

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1354 更新时间:2009/4/23 10:45:03

  在 Asp.Net Web 应用程序中长时间装载页面时显示进度条,虽然是假进度条,不能实时反映装载进度,但是可以告诉用户页面正在装载,以免用户误以为系统故障或死机。
  新建一个 Web 项目,添加4个文件:Default.htm;Progressbar.aspx;Second.aspx;
common.css。
  Default.htm 页面有一个超链,点击之后先装载 Progressbar.aspx,装载完之后装载 Second.aspx,因为 Second.aspx 模拟大页面所以 Page_Load 中主线程挂起 10 秒钟,其间仍显示进度条页面 Progressbar.aspx。


  代码如下:


Default.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Default</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">
</head>
<body>
 <a href="Progressbar.aspx?U=Second.aspx">进入</a>
</body>
</html>


Progressbar.aspx (HTML)
<%@ Page language="c#" Codebehind="Progressbar.aspx.cs" AutoEventWireup="false" Inherits="WebApp.Progressbar" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>进度条</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="
http://schemas.microsoft.com/intellisense/ie5">
  <link rel="stylesheet" type="text/css" href="common.css" />
  <% string strUrl=Request.Params["U"];%>
  <META http-equiv=Refresh content="0;URL= <%=strUrl%> ">
  <script language="javascript">
   var i = 0;
   
   function setPgb(pgbID, pgbValue)
   {
    if ( pgbValue <= 100 )
    {
     if (lblObj = document.getElementById(pgbID+''''_label''''))
     {
      lblObj.innerHTML = pgbValue + ''''%''''; // change the label value
     }
      
     if ( pgbObj = document.getElementById(pgbID) )
     {
      var divChild = pgbObj.children[0];
       
      pgbObj.children[0].style.width = pgbValue + "%";
     }
      
     window.status = "数据读取" + pgbValue + "%,请稍候...";
    }
     
    if ( pgbValue == 100 )
     window.status = "数据读取已经完成";
   }
   
   function showBar()
   {
    setPgb(''''pgbMain'''',i);
    i++;
   }
  </script>
 </HEAD>
 <BODY onload="setInterval(''''showBar()'''',100)">
  <TABLE id="Table1" style="WIDTH: 760px" cellSpacing="0" cellPadding="0" align="center"
   border="0">
   <TR height="400">
    <TD vAlign="middle" align="center">
     <DIV class="bi-loading-status" id="proBar" style="LEFT: 425px; WIDTH: 300px; TOP: 278px; HEIGHT: 44px">
      <DIV class="text" id="pgbMain_label" align="left"></DIV>
      <DIV class="progress-bar" id="pgbMain" align="left">
       <DIV style="WIDTH: 10%"></DIV>
      </DIV>
     </DIV>
    </TD>
   </TR>
  </TABLE>
 </BODY>
</HTML>


Second.aspx(code-behind)
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace WebApp
{
 /// <summary>
 /// Second 的摘要说明。
 /// </summary>
 public class Second : System.Web.UI.Page
 {
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面

   System.Threading.Thread.Sleep(10000);
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
 }
}


common.css
.bi-loading-status {

  /*position:   absolute;*/

  width:        150px;

  padding: 1px;

  overflow: hidden; 

}

 

.bi-loading-status .text {

  white-space:  nowrap;

  overflow:     hidden;

  width:             100%;

  text-overflow:     ellipsis;

  padding:      1px;

}

 

.bi-loading-status .progress-bar {

  border:       1px solid ThreeDShadow;

  background:   window;

  height:       10px;

&nbs

[1] [2]  下一页


[聊天工具]Gmail推出新功能:Web Clip__天极Yesky  [聊天工具]Web MSN你玩了吗__天极Yesky
[系统软件]Web Browser Express 概述  [系统软件]对Internet Explorer Web 控件做一点修改
[常用软件]小技巧:三步实现Web迅雷录制PPLive节目  [常用软件]双剑合璧 在Win XP下刻录音乐CD
[常用软件]天网防火墙:打开WEB和FTP服务  [VB.NET程序]使用VB.Net做一个配置web.config功能的WinForm(原…
[VB.NET程序]vb.net控件、web service简述  [VB.NET程序]在 VB 中使用 Unicode API
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台