I'm looking for a way to display a "progress bar" in web using webforms with c#.I made a quick example, I just want a label to show like 1%, 2%, 3% etc.. about a background process that will be running in the server. And when it finish update something like showing an alert or something, The real need is a little more complicated than that but getting the bases I think I can make it by my own. The problem that I having with the code is that I'm always getting 0.. in my "progress bar" it doesn't get updated, I'm missing something but I don't know what it is. EditI tried to alert the value every second to see the value instead of the label, but it is not working anyway.I missed the \[code\]OnClientClick="javascript:GetProgress();"\[/code\] in the first queston, i Updated it, it is not working anywayAny Help would be really appreciated.Importanth thigs from The ASPX and JS\[code\] <div style="width: 800px" class="css_container"> <cc1:ToolkitScriptManager ID="sm" runat="server" EnableScriptGlobalization="true" EnableScriptLocalization="true" AsyncPostBackTimeout="60000" EnablePageMethods="true"> </cc1:ToolkitScriptManager> <asp:UpdatePanel ID="upPanel" runat="server"> <ContentTemplate> <asp:Button ID="btn" runat="server" Text="Do Something" CausesValidation="False" OnClick="btn_Click" OnClientClick="javascript:GetProgress();" /> </ContentTemplate> </asp:UpdatePanel> </div>\[/code\]\[code\] function GetProgress() { PageMethods.GetProcessed(function(result) { alert(result); if (result < 100) { setTimeout(function(){GetProgress();}, 1000); } }); }\[/code\]Important Things from Code Behind\[code\][WebMethod(EnableSession=true), ScriptMethod] public static string GetProcessed() { return HttpContext.Current.Session["processed"].ToString(); }protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Session["processed"] = 0; } }protected void btn_Click(object sender, EventArgs e) { AClass oClass = new AClass(); Thread oThread = new Thread(delegate() { oClass.UpdateSession(); }); oThread.Start(); }\[/code\]Important Things from the Aclass\[code\]public class AClass{ public void UpdateSession() { for(int i = 0; i< 100; i++) { HttpContext.Current.Session["processed"] = i; System.Threading.Thread.Sleep(1000); } }}\[/code\]