Click here to Skip to main content
11,647,828 members (47,836 online)
Click here to Skip to main content

Web Timer Control

, 7 Oct 2008 GPL3 33.7K 1.1K 38
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

Timercontrol is purely a Web-based control.

Timer Class

  • Provides a mechanism for executing a method at specified intervals.
  • Timercontrol'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

Timercontrol 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 DoPostBackOnTimeOutattribute is set to TRUE.

Properties & Definition

IsAutoStart

If set to true, Timercountdown starts immediately after page load.

If set it to false, Timercountdown 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 Timercontrol runs based on a JavaScript. We can't claim that Timercontrol always maintains perfect timings. It might miss a couple of seconds.

If ServerSideTimeSynchronizeis 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 StopWatchis 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 TimeOutevent with full post back. Now, you can modify the contents or redirect to another page.

This won't create a postback for the IntervalReachedevent.

DisableRightClick

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

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

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

Interval

Interval is defined in seconds.

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

TimeOut

TimeOutis defined in seconds.

Raises a TimeOutevent on your application when a TimeOuthas elapsed.

It is raised only once for entire Timerperiod.

***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 Timerto periodically update date time on the SQL server.

Specifying Time on a Timer Control

See Intervaland Timeoutproperties. Both are defined in seconds.

Specifying Themes on a Timer Control

Timercontrol inherits Labelproperties. 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 Timercontrols runs regardless of visible property. Only Enableproperty disables the Timercontrol.

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

You may also be interested in...

Comments and Discussions

 
GeneralIts Interesting Pin
shiva.jayaraman20-Oct-08 23:52
membershiva.jayaraman20-Oct-08 23:52 
GeneralRe: Its Interesting Pin
authord21-Oct-08 19:27
memberauthord21-Oct-08 19:27 

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 | Terms of Use | Mobile
Web03 | 2.8.150804.4 | Last Updated 7 Oct 2008
Article Copyright 2008 by Prem Rajadattan
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid