方法一: 1、添加 引用 using System.Threading; 2、在页面加载时 protected void Page_Load(object sender, EventArgs e) {////////////////////以下是进度条 Response.Write("<div style='COLOR: red; POSITION: absolute; ' 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(1000); //////////////////////////////////////// } 3、在后台脚本添加 <script language="javascript">
HideWait(); </script>
方法二: 首先建一个HTML面,源码为: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow" > <head > <title >无标题页 </title > <script language="javascript" type="text/javascript" > function SetPorgressBar(pos) { //设置进度条居中 var screenHeight = window["mainWindow"].offsetHeight; var screenWidth = window["mainWindow"].offsetWidth; ProgressBarSide.style.width = Math.round(screenWidth / 4); ProgressBarSide.style.left = Math.round(screenWidth / 3); ProgressBarSide.style.top = Math.round(screenHeight / 2); ProgressBarSide.style.height = "21px"; ProgressBarSide.style.display = "";
//设置进度条百分比 ProgressBar.style.width = pos + "%"; ProgressText.innerHTML = "正在加载,请稍后....." + pos + "%"; }
//完成后隐藏进度条 function SetCompleted() { ProgressBarSide.style.display = "none"; MyTable.style.display="none"; } </script > </head > <body > <!-- <div id="mydiv" style="width: 224px" >数据处理中.... </div >-- > <div id="ProgressBarSide" style="position:absolute;height:21px;width:100px;color:Silver;border-width:1px;border-style:Solid;display:none" > <div id="ProgressBar" style="position:absolute;height:21px;width:0%;background-color:PaleTurquoise" > </div > <div id="ProgressText" style="position:absolute;height:21px;width:100%;text-align:center" > </div >
</div > </body > </html >
在你要显示的页面page_load,代码: if (!Page.IsPostBack) { beginProgress();
for (int i = 1; i <= 100; i++) { setProgress(i);
//此处用线程休眠代替实际的操作,如加载数据等 System.Threading.Thread.Sleep(20); }
finishProgress(); }
函数: /// <summary > ///显示进度条 /// </summary >
private void beginProgress() { //根据ProgressBar.htm显示进度条界面 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); StreamReader reader = new StreamReader(@templateFileName,System.Text.Encoding.GetEncoding("GB2312")); string html = reader.ReadToEnd(); reader.Close(); Response.Write(html); Response.Flush(); }
private void setProgress(int percent) { string jsBlock = " <script >SetPorgressBar( "" + percent.ToString() + " "); </script >"; Response.Write(jsBlock); Response.Flush(); }
private void finishProgress() { string jsBlock = " <script >SetCompleted(); </script >"; Response.Write(jsBlock); Response.Flush(); }
方法三:
1. 进度条模板文件 ProgressBar.htm 1<HTML> 2<head> 3<title></title> 4<script language="JavaScript"> 5//设置进度条进度 6function SetPorgressBar(msg, pos) 7{ 8 ProgressBar.style.width= pos +"%"; 9 WriteText("Msg1",msg +" 已完成"+ pos +"%"); 10} 11 12//设置进度条完成信息 13function SetCompleted(msg) 14{ 15 if(msg=="") 16 WriteText("Msg1","完成。"); 17 else 18 WriteText("Msg1",msg); 19} 20 21// 更新文本显示信息 22function WriteText(id, str) 23{ 24 var strTag = '<font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><B>' + str + '</B></font>'; 25 if (document.all) document.all[id].innerHTML = strTag; 26} 27</script> 28</head> 29<body> 30<div id="Msg1"><font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><b>正在加载</b></font></div> 31<div id="ProgressBarSide" style="color:Silver;border-width:1px;border-style:Solid;width:300px;"> 32 <div id="ProgressBar" style="background-color:#3366FF; height:21px; width:0%;"></div> 33</div> 34</body> 35</HTML>
2. Default.ASPx
1 protectedvoid Page_Load(object sender, EventArgs e) 2 { 3 // 根据 ProgressBar.htm 显示进度条界面 4 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); 5 StreamReader reader =new StreamReader(@templateFileName,System.Text.Encoding.GetEncoding("gb2312")); 6 string HTML = reader.ReadToEnd(); 7 reader.Close(); 8 Response.Write(HTML); 9 Response.Flush(); 10 System.Threading.Thread.Sleep(200); 11 12 // 根据处理任务处理情况更新进度条 13 string jsBlock; 14 for (int i =1; i <=100; i++) 15 { 16 System.Threading.Thread.Sleep(10); 17 jsBlock ="<script>SetPorgressBar('"+"A"+ i.ToString() +"','"+ i.ToString() +"'); </script>"; 18 19 Response.Write(jsBlock); 20 Response.Flush(); 21 } 22 23 // 处理完成 24 jsBlock ="<script>SetCompleted('处理完成。'); </script>"; 25 Response.Write(jsBlock); 26 Response.Flush(); 27 }
|
相关推荐
asp.net 中使用iframe动态加载页面
一个基于ASP.NET的动态加载Flash到Web网页的控件,采用VS2005+C#开发。
就是网站不通过页面加载事件把数据库表中的一个数据绑定到界面上,文件里面带的有数据库,下载完后,你可以试一下,里面我加的有注释,有问题可以博客中回复我
本控件是基于zTree的一个封装,继承了zTree的优点,并使其在aspnet web编程中更加灵活,如动态加载节点全部选中等,这样,代码控制性会更加方便。 附件中,包含了控件以及示例代码,这些基本够一般的树的操作了,更...
用ASP.NET读取读取EXCEL中的数据到WEB页面 内含全部的项目代码和说明
本系统是采用Ext和ASP.NET编写的一个基于WEB的实时聊天系统,采购.NET三层架构思想写的一个简单聊天工具,关键是Ext与ASP.NET的交互,采用的软件是Microsoft Visual Studio 2008和SQL SERVER2005,内有数据库备份...
ASP.NET MVC 实现 简单的列表(web),供初学者学习。 由于本人技术有限,如有错误,请指出批评。 *要运行本程序必须有 VS2010 和 ASP.NET MVC 4 环境。
“未能加载文件或程序集“System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。” “未能加载文件或程序集“System.Web....
web 在线加载office 文件 实现查看编辑 打印等 操作 功能强大 希望能给广大网友带来多多 帮助
采用winform进行开发,大的软件打开时需要加载很多资源,启动动画可以打发你等待的时间 二、功能介绍 本源码是一个启动等候动画源码,适合初学者,欢迎下载 三、注意事项 1、开发环境为Visual Studio 2012,使用...
对于加载时间比较长的ASP.NET页面,我们可以在客户端浏览器中显示进度条来显示页面正在装载。下面就是具体的实现过程: 1.新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可...
在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--...
在Asp.Net开发时,用到的JS库、通用的CSS等,在许多页面都会用到,而每次都需要手动引入,相当麻烦,而且有时一旦忘了引用,还得找半天才能找到问题。那有没有什么办法能够一劳永逸的呢?答案是有的。 我们知道...
此解决方案是ASP.NET mvc Web应用程序,它显示每次发出新的http请求时在内存中加载数组的内存泄漏.zip
asp.net + javascript图片瀑布流 ...效果:滚动条滑到页面底部时自动加载下一页图片 两种展示方式:动态和静态 静态展示页面效果,动态展示从数据库取数据并绑定到页面的过程 vs2010项目 项目中包含数据库
一、 加载WebBrowser控件,设置url; 2 二、 WebBrowser加载完毕,触发DocumentCompleted事件; 2 三、 网页title变化,触发DocumentTitleChanged事件; 2 四、 具体调用方式: 2 1. vb.net给html的文本框赋值 2 2. ...
基于ASP.NET 3.5 AJAX客户端框架开发Web版RSS阅读器
ASP.NET单文件页模型在创建并生成时,开发人员编写的类将编译成程序集,并将该程序集加载到应用程序域,并对该页的类进行实例化后输出到浏览器。可以说,.aspx页面的代码也即将会生成一个类,并包含内部逻辑。在...
在加载数据的时候提示数据正在加载中,同时还需要引入一个图片,详细资料http://blog.csdn.net/jiudihanbing/article/details/7544127