用于长时间运行脚本的Progressbar

分享于 

3分钟阅读

Web开发

  繁體

Red.jpg

介绍

我一直在查看 ASP.NET 中可以用 C# 代码更新的进度条,因这里我建立了一个长期运行的代码片段。

使用代码

只需向现有代码添加几个新函数,就可以将进度栏放在任何 ASP.NET 窗体上。 只需更新用于显示栏的图像即可更改颜色。

只需要包含两个函数。 第一个函数是在表格中绘制进度栏:


public void CreateInterface()


{


 //Draw the progress page


 Response.Write("<table width="100%" style="font-family:Arial; font-size:12px;" + 


 "text-align:center"><tr><td>" + 


 "<div id='mydiv' style="border:solid 1px black">" + 


 "<strong>Progressbar Demo</strong><br/><hr/>" +


 "<table border="0" style="font-family:Arial;" + 


 " font-size:12px;" width="300px">" + 


 "<tr><td width="100%" style="text-align:center"" + 


 "><div id="ProgressText">0%</div>" + 


 "</td></tr></table>" +


 "<table border="1" cellpadding="0" cellspacing="0"" + 


 "width="300px" height="13">" + 


 "<tr><td id="indicator" style="background-image:url('Progress" + 


 ddlColour.SelectedItem.Text + ".jpg');" + 


 " background-repeat:repeat-x" width="0%">" + 


 "</td><td width="100%"></td></tr>" + 


 "</table></div></td></tr></table>");


 //Insert the scripts for updating


 Response.Write("<script language="""javascript">;");



 Response.Write("function ShowProgress(){}");



 Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible';" + 


 " window.setInterval('ShowProgress()',1000);}");



 Response.Write("function HideWait(){mydiv.style.display" + 


 " = 'none';window.clearInterval();}");



 Response.Write("function UpdateIndicator(NewValue)" + 


 "{indicator.style.width = NewValue +"%";" + 


 " ProgressText.innerText=NewValue +"%"}");



 Response.Write("StartShowWait();</script>");



 if (!IsPostBack)


 {


 //Hide if first load


 Response.Write("<script>HideWait();</script>");


 }



 Response.Flush();


}



第二个函数是从代码中更新进度栏:


public void UpdateProgressBar(double Text)


{


 Response.Write("<script>UpdateIndicator("" + 


 Convert.ToInt32(Text).ToString() + "");</script>");


 Response.Flush();


}




scripts  进度  long  
相关文章