在网上查阅了很多相关资料,参照对比一番后自己整理了一下,做了个小例子。能够实现根据后台数据加载的进度在前台动态更新进度条、进度条在页面居中显示、在进度条内显示百分比,完成进度后隐藏进度条。个人感觉还是有一定的参考价值,贴出来先。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Threading;
using System.IO;
public partial class _Default : System.Web.UI.Page 
{
 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 = "";
 Response.Write(jsBlock);
 Response.Flush();
 }
 private void finishProgress()
 {
 string jsBlock = "";
 Response.Write(jsBlock);
 Response.Flush();
 }
 private void Page_Load(object sender, System.EventArgs e) 
 {
 beginProgress();
 for (int i = 1; i <= 100; i++)
 {
 setProgress(i);
 //此处用线程休眠代替实际的操作,如加载数据等
 System.Threading.Thread.Sleep(50);
 }
 finishProgress(); 
 } 
}