Click here to Skip to main content
Click here to Skip to main content
Go to top

Web Timer Control

, 7 Oct 2008
Rate this:
Please Sign up or sign in to vote.
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.

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

}

OnTimeOutOccurred

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

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.

<%@ 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)

Share

About the Author

Prem Rajadattan

United States United States

Comments and Discussions

 
QuestionNot Working in WebApplication PinmemberAytha22-Jan-14 5:33 
Questionissue when using the control Pinmemberthe algabban29-May-12 15:56 
QuestionHow to pause the timer Pinmemberhina_best22222@yahoo.co.in1-Apr-12 20:33 
QuestionServer Error Pinmembermamta20121-Mar-12 18:37 
AnswerRe: Server Error Pinmemberhina_best22222@yahoo.co.in1-Apr-12 20:34 
GeneralRe: Server Error Pinmemberthe algabban29-May-12 15:57 
I did added but still not working , not even in the local server
Knowledge, even if they are small it's right for everyone

Generaladd repeatable properties ! Pinmemberikuto tohoin25-Jan-11 17:01 
GeneralTimer Pinmemberclaudiajs27-May-10 22:30 
GeneralAdd Days Pinmemberclaudiajs24-May-10 23:07 
GeneralRe: Add Days PinmemberPrem Rajadattan25-May-10 12:04 
QuestionHow to keep track of the start and stop timer duration? Pinmemberavishekrc17-Mar-10 5:59 
GeneralThats Great PinmemberAMK_SDK30-Sep-09 21:43 
GeneralGood article PinmemberDonsw27-Jan-09 7:27 
GeneralUrgent Help Needed PinmemberMember 421903222-Apr-09 17:56 
GeneralRe: Urgent Help Needed PinmemberAytha22-Jan-14 5:34 
GeneralNice control, but i have a question Pinmemberewanko21827-Oct-08 1:57 
GeneralIts Interesting Pinmembershiva.jayaraman20-Oct-08 23:52 
GeneralRe: Its Interesting Pinmemberauthord21-Oct-08 19:27 
Generalseems interesting Pinmembersaber_solomon6-Oct-08 22:08 
GeneralRe: seems interesting Pinmemberauthord7-Oct-08 7:23 
GeneralRe: seems interesting Pinmembersaber_solomon7-Oct-08 20:55 

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

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

| Advertise | Privacy | Mobile
Web03 | 2.8.140905.1 | Last Updated 7 Oct 2008
Article Copyright 2008 by Prem Rajadattan
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid