Countdown timer on ASP.NET page
asp.net, asp.net-ajax, javascript
Solution
OK, finally I ended with
<span id="timerLabel" runat="server"></span>
<script type="text/javascript">
function countdown()
{
seconds = document.getElementById("timerLabel").innerHTML;
if (seconds > 0)
{
document.getElementById("timerLabel").innerHTML = seconds - 1;
setTimeout("countdown()", 1000);
}
}
setTimeout("countdown()", 1000);
</script>
Really simple. Like old good plain HTML with JavaScript.
Problem
Could you recommend me a way to place a coundown timer on ASP.NET page? Now I use this code: Default.aspx ``` <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label1" runat="server">60</asp:Label> <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick"> </asp:Timer> </ContentTemplate> </asp:UpdatePanel> ``` Default.aspx.cs ``` protected void Timer1_Tick(object sender, EventArgs e) { int seconds = int.Parse(Label1.Text); if (seconds > 0) Label1.Text = (seconds - 1).ToString(); else Timer1.Enabled = false; } ``` But it is traffic expensive. I would prefer pure client-side method. Is it possible in ASP.NET?