方法一、不帶進度條
后臺:
1、
<asp:Button ID="btnOk" runat="server" OnClick="btnOk_Click" Text="生成靜態的進度條" OnClientClick="createload()" />
2、
<script type="text/javascript"> //script腳本
function createload() {
var loaddiv = document.createElement("div");
loaddiv.style.width = "200px";
loaddiv.style.height = "100px";
loaddiv.style.border = "1px solid #000000";
loaddiv.style.fontSize = "12px";
loaddiv.style.lineHeight = "100px";
loaddiv.style.backgroundColor = "#cccccc";
loaddiv.style.textAlign = "center";
loaddiv.innerHTML = "請稍候...";
document.body.appendChild(loaddiv);
}
</script>
3、
for (int i = 0; i < 10; i++) // 單擊生成按鈕
{
DateTime startTime = DateTime.Now;
Response.Write(i + "-------------執行時間:" + startTime.ToString() + "<br />");
Thread.Sleep(1000); //Thread 線類 .sleep 暫定 (1000) 1秒鐘
}
方法二、帶進度條
1、創建bar.htm文件
<!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">
<head runat="server">
<title>進度條</title>
<script language="javascript" type="text/javascript">
function $(obj) {
return document.getElementById(obj);
}
//i為當前執行到的記錄,count為總數
//比如總共需要生成的靜態數為100,那么現在執行到5%,那么進度條塊進到5%的地方
function loadBar(i, count) {
var a = parseFloat(i * 100 / count);
$("bar").style.width = a + "%";
if ($("bar").style.width == "100%") {
$("bar").innerHTML = "完成";
} else {
$("bar").innerHTML = a + "%";
}
}
</script>
<style type="text/css">
body{ text-align:center; font-size:12px; }
.graph{ width:450px; border:1px solid #F8B3D0;height:25px; margin:0 auto; }
#bar{ display:block; background:#FFE7F4; float:left; height:100%;text-align:center; }
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<div class="graph">
<strong id="bar" style="width:1%;"></strong>
</div>
</div>
</form>
</body>
</html>
2、單擊按鈕事件
for (int i = 0; i < 10; i++)
{
if (i == 0)
{
string strFileName = FileObj.ReadFile(Server.MapPath("bar.htm")); //調用FileObj文件操作類
Response.Write(strFileName);
}
Response.Write("<script>loadBar(" + (i + 1) + ",10);</script>");
Thread.Sleep(1000);
}
注:在使用該方法的.net文件中一定要在文件頭定義Buffer="false"即關閉緩存
方法三、
try
{
DateTime dt = DateTime.Now;//當前時間
//生成靜態
DateTime dt2 = DateTime.Now; //當前時間
TimeSpan ts = dt2.Subtract(dt); // 時間間隔
string strTs = ts.TotalSeconds.ToString();
ltGengerate.Text = "生成成功,生成用時" + strTs + "秒!"; //顯示出來
}
catch (Exception ex)
{
throw ex;
}