javascript - asp.net (VB) countdown timer that is persistent through postbacks -
i have button , label on asp.net vb page , when button pressed need countdown timer begin 10 mins , update every seconds, 09:59, 09:58, 09:57 etc.... need timer continue countdown despite postbacks or temporarily redirecting different page.
so far have tried using asp.net timers (with async triggers/update panels) seconds countdown needs 1 second postback , going quite resource expensive when there hundreds of users accessing system. writes exact countdown time session variable retrieved when page reloaded - ugly method way can work.
update - have found solution problem:
using great javascript countdown script http://scripts.hashemian.com/js/countdown.js
aspx page:
<asp:literal runat="server" id="jstimemarker"/> <script type="text/javascript" src="http://scripts.hashemian.com/js/countdown.jss"></script> <asp:button runat="server" text="10 mins" id="btn10mins"/>
code behind page:
sub page_load(sender object, e eventargs) handles me.load if not ispostback ' set countdown timer based on if cookie set if not request.cookies("countdowntimer") nothing timemarkerrender(request.cookies("countdowntimer")("data")) end if end if end sub sub timemarkerrender(targetdatetime string) dim sb stringbuilder = new stringbuilder() sb.append("<script type=""text/javascript"">") 'sb.append("targetdate = ""08/28/2013 18:11:29"";") sb.append("targetdate = " & "'" & targetdatetime & "'" & ";") sb.append("countactive = true;") sb.append("countstepper = -1;") sb.append("leadingzero = true;") sb.append("displayformat = ""%%m%%:%%s%%"";") sb.append("finishmessage = ""finished"";") sb.append("</script> ") jstimemarker.text = sb.tostring() end sub protected sub btn10mins_click(sender object, e eventargs) handles btn10mins.click response.cookies("countdowntimer")("data") = now.addminutes(10).tostring("mm/dd/yyyy hh:mm:ss") response.redirect(request.rawurl) end sub
i mean basic problem, you've discovered, persisting though sort of postback going difficult , not accurate. can either use iframe content page , have counter running in javascript on outside page or can launch new window counter running while user working?
here simple countdown timer in javascript: https://mindgrader.com/tutorials/1-how-to-create-a-simple-javascript-countdown-timer
Comments
Post a Comment