方法一、不帶進(jìn)度條
后臺(tái):
1、
<asp:Button ID="btnOk" runat="server" OnClick="btnOk_Click" Text="生成靜態(tài)的進(jìn)度條" 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 = "請(qǐng)稍候...";
document.body.appendChild(loaddiv);
}
</script>
3、
for (int i = 0; i < 10; i++) // 單擊生成按鈕
{
DateTime startTime = DateTime.Now;
Response.Write(i + "-------------執(zhí)行時(shí)間:" + startTime.ToString() + "<br />");
Thread.Sleep(1000); //Thread 線類(lèi) .sleep 暫定 (1000) 1秒鐘
}
方法二、帶進(jìn)度條
1、創(chuàng)建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>進(jìn)度條</title>
<script language="javascript" type="text/javascript">
function $(obj) {
return document.getElementById(obj);
}
//i為當(dāng)前執(zhí)行到的記錄,count為總數(shù)
//比如總共需要生成的靜態(tài)數(shù)為100,那么現(xiàn)在執(zhí)行到5%,那么進(jìn)度條塊進(jìn)到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")); //調(diào)用FileObj文件操作類(lèi)
Response.Write(strFileName);
}
Response.Write("<script>loadBar(" + (i + 1) + ",10);</script>");
Thread.Sleep(1000);
}
注:在使用該方法的.net文件中一定要在文件頭定義Buffer="false"即關(guān)閉緩存
方法三、
try
{
DateTime dt = DateTime.Now;//當(dāng)前時(shí)間
//生成靜態(tài)
DateTime dt2 = DateTime.Now; //當(dāng)前時(shí)間
TimeSpan ts = dt2.Subtract(dt); // 時(shí)間間隔
string strTs = ts.TotalSeconds.ToString();
ltGengerate.Text = "生成成功,生成用時(shí)" + strTs + "秒!"; //顯示出來(lái)
}
catch (Exception ex)
{
throw ex;
}