private void Button1_Click(object sender, System.EventArgs e) { System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(LongTask)); thread.Start(); Session["State"]=1; OpenProgressBar(this.Page); } } } 新建一个进度条页面Progress.aspx 客户端: 在head中加入<base target="_self"> <body MS_POSITIONING="GridLayout"> <form method="post" runat="server"> <asp:Label runat="server"></asp:Label> <asp:Panel runat="server" BorderStyle="Solid" BorderWidth="1px" ForeColor="Silver"> <asp:Panel runat="server" BackColor="Green"></asp:Panel> </asp:Panel> <asp:Label runat="server" ForeColor="Blue"></asp:Label> </form> </body> 服务器端: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;
namespace WebProgressBar { /**//// <summary> /// Summary description for Progress. /// </summary> public class Progress : System.Web.UI.Page { protected System.Web.UI.WebControls.Label lblMessages; protected System.Web.UI.WebControls.Panel panelProgress; protected System.Web.UI.WebControls.Panel panelBarSide; protected System.Web.UI.WebControls.Label lblPercent;
private int state = 0; private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here if(Session["State"]!=null) { state = Convert.ToInt32(Session["State"].ToString()); } else { Session["State"]=0; } if(state>0&&state<=10) { this.lblMessages.Text = "Task undertaking!"; this.panelProgress.Width = state*30; this.lblPercent.Text = state*10 + "%"; Page.RegisterStartupScript("","<script>window.setTimeout('window.Form1.submit()',100);</script>"); } if(state==100) { this.panelProgress.Visible = false; this.panelBarSide.Visible = false; this.lblMessages.Text = "Task Completed!"; Page.RegisterStartupScript("","<script>window.close();</script>"); } } (编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|