Click here to Skip to main content
15,878,748 members
Articles / Web Development / ASP.NET
Article

Web Timer Control

Rate me:
Please Sign up or sign in to vote.
4.00/5 (11 votes)
7 Oct 2008GPL33 min read 58.7K   1.4K   38   22
Provides a mechanism for executing a method at specified intervals
page.png
Figure: Timer GUI

Introduction

Timer control is purely a Web-based control.

Timer Class

  • Provides a mechanism for executing a method at specified intervals.
  • Timer control's stopwatch counts downwards from 'X' to ZERO time for measuring elapsed time.

Events

OnIntervalReached

Notifies your application when a specified period of time has elapsed. It is triggered through a client callback method. So you can't update the page contents from this event.

C#
protected void Timer1_IntervalReached(object sender, CodeControls.TimerEventArgs e)
{

}

OnTimeOutOccurred

Notifies your application when a specified Time Out has been reached.

C#
protected void Timer1_TimeOutOccurred(object sender, CodeControls.TimerEventArgs e)
{

}

property.png

Figure: Properties and Events

Implementation

Timer control is built on Client CallBack technique. So no postback is required for notifying your application when interval or timeout is reached.

Since the mechanism implements client callback method, you are limited to the following:

  • You can perform database operations.
  • You can't redirect the current page
  • You can't modify the content of the current page.
  • You can have access to the cookies and cache.
  • You can't store the value in the session. This is because posted session values are available after the post back.

To overcome this limitation, this control provides a mechanism to do a full post back on Time Out.

So you can modify, redirect the current page if DoPostBackOnTimeOut attribute is set to TRUE.

Properties & Definition

IsAutoStart

If set to true, Timer countdown starts immediately after page load.

If set it to false, Timer countdown won't be triggered at the page load. You should call Timer1.ManualStart() method in your page to trigger the Timer.

Enabled

If it is set to false, it won't register the related script to the page.

To run Timer, this property needs to be set to true.

ServerSideTimeSynchronize

The Timer control runs based on a JavaScript. We can't claim that Timer control always maintains perfect timings. It might miss a couple of seconds.

If ServerSideTimeSynchronize is set to true, the time calculations are based on the server. After each interval, the timer gets the amount of Time left from the server and updates the stop watch.

This is will lead to slight bumps in the countdown.

DoPostBackOnTimeOut

Timer StopWatch is a JavaScript based program. When the interval is reached, it enables the client callback functions.

So no post back is required for notifying your application when interval or timeout is reached. As a result of this ClientCallBack, you can't modify the page contents.

This property allows control to trigger a TimeOut event with full post back. Now, you can modify the contents or redirect to another page.

This won't create a postback for the IntervalReached event.

DisableRightClick

It disables the mouse right click. Mouse right click affects the timer stopwatch. So it is recommended to set DisableRightClick to true.

If you don't want to disable the mouse right click, then set ServerSideTimeSynchronize to true.

This is done so that it updates the Timer StopWatch for every interval.

Interval

Interval is defined in seconds.

Raises an IntervalReached event on your application when a specified period of time has elapsed.

TimeOut

TimeOut is defined in seconds.

Raises a TimeOut event on your application when a TimeOut has elapsed.

It is raised only once for entire Timer period.

***Timer is set to last interval time, when a postback occurs.

Creating a New Timer Control

Add the following to your *.aspx page.

ASP.NET
<%@ Register Namespace="CodeControls" TagPrefix="cc" %>

<cc:Timer ID="Timer1" runat="server" DoPostBackOnTimeOut="false" Font-Names="Verdana"
    Font-Size="68px" ForeColor="#FF8000" Interval="5" ServerSideTimeSynchronize="True"
    TimeOut="9" OnIntervalReached="Timer1_IntervalReached"
    OnTimeOutOccurred="Timer1_TimeOutOccurred" IsAutoStart="true"
    DisableRightClick="true"></cc:Timer>

Using a Timer Control

Suppose you want to update the date time on the server for every 10 seconds.

You could create a Timer to periodically update date time on the SQL server.

Specifying Time on a Timer Control

See Interval and Timeout properties. Both are defined in seconds.

Specifying Themes on a Timer Control

Timer control inherits Label properties. So you can use it like ASP.NET Label.

Specifying Stop Watch Visibility on a Timer Control

If you don't want to display the stopwatch/countdown, you can set visibility to false. But Timer controls runs regardless of visible property. Only Enable property disables the Timer control.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
United States United States

Comments and Discussions

 
QuestionThanks Pin
A. Najafzadeh10-Jul-15 7:35
A. Najafzadeh10-Jul-15 7:35 
QuestionNot Working in WebApplication Pin
Rakesh Aytha22-Jan-14 5:33
Rakesh Aytha22-Jan-14 5:33 
Questionissue when using the control Pin
a.alghabban29-May-12 15:56
a.alghabban29-May-12 15:56 
QuestionHow to pause the timer Pin
hina_best22222@yahoo.co.in1-Apr-12 20:33
hina_best22222@yahoo.co.in1-Apr-12 20:33 
QuestionServer Error Pin
mamta20121-Mar-12 18:37
mamta20121-Mar-12 18:37 
AnswerRe: Server Error Pin
hina_best22222@yahoo.co.in1-Apr-12 20:34
hina_best22222@yahoo.co.in1-Apr-12 20:34 
GeneralRe: Server Error Pin
a.alghabban29-May-12 15:57
a.alghabban29-May-12 15:57 
Generaladd repeatable properties ! Pin
ikuto tohoin25-Jan-11 17:01
ikuto tohoin25-Jan-11 17:01 
GeneralTimer Pin
claudiajs27-May-10 22:30
claudiajs27-May-10 22:30 
GeneralAdd Days Pin
claudiajs24-May-10 23:07
claudiajs24-May-10 23:07 
GeneralRe: Add Days Pin
Prem Rajadattan25-May-10 12:04
Prem Rajadattan25-May-10 12:04 
QuestionHow to keep track of the start and stop timer duration? Pin
avishekrc17-Mar-10 5:59
avishekrc17-Mar-10 5:59 
GeneralThats Great Pin
Arin.Net30-Sep-09 21:43
Arin.Net30-Sep-09 21:43 
GeneralGood article Pin
Donsw27-Jan-09 7:27
Donsw27-Jan-09 7:27 
GeneralUrgent Help Needed Pin
Member 421903222-Apr-09 17:56
Member 421903222-Apr-09 17:56 
GeneralRe: Urgent Help Needed Pin
Rakesh Aytha22-Jan-14 5:34
Rakesh Aytha22-Jan-14 5:34 
GeneralNice control, but i have a question Pin
ewanko21827-Oct-08 1:57
ewanko21827-Oct-08 1:57 
GeneralIts Interesting Pin
shiva.jayaraman20-Oct-08 23:52
shiva.jayaraman20-Oct-08 23:52 
GeneralRe: Its Interesting Pin
Prem Rajadattan21-Oct-08 19:27
Prem Rajadattan21-Oct-08 19:27 
Generalseems interesting Pin
saber_solomon6-Oct-08 22:08
saber_solomon6-Oct-08 22:08 
GeneralRe: seems interesting Pin
Prem Rajadattan7-Oct-08 7:23
Prem Rajadattan7-Oct-08 7:23 
GeneralRe: seems interesting Pin
saber_solomon7-Oct-08 20:55
saber_solomon7-Oct-08 20:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.