一种:
<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>
<script language= "javascript" type= "text/javascript">
function SetPorgressBar(pos)
{
//设置进度条居中
var screenHeight=window["mainWindow"].offsetHeight;
alert("a");
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()
{
alert("d");
ProgressBarSide.style.display="none";
MyTable.style.display= "none";
}
</script>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
beginProgress();
for (int i = 0; i <= 100; i++)
{
setProgress(i);
//此处用线程休眠代替实际的操作,如加载数据等
System.Threading.Thread.Sleep(10);
}
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)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "SetPorgressBar('" + percent.ToString() + "');", true);
//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();
}
二种:
//进度条
Response.Write(" <div id='mydiv' style='font-size:9pt'>");
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.display = 'none';");
Response.Write("window.clearInterval();}");
Response.Write("StartShowWait(); </script>");
Response.Flush();
Thread.Sleep(8000);