A web control timer that ticks - please help...

A

almurph

folks,

Please help. I'm trying to build a user defined control that displays
a time stamp that ticks. Here is what i have so far - it's using
threads but is not working. Can anyone help me please?
Thanks a million in advance.

Al

*******CODE**********


namespace Chapter_12
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Threading;

/// <summary>
/// Summary description for DateTimeUserControl.
/// </summary>
public class DateTimeUserControl : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.Label lblDateTimeStamp;

private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
Thread t = new Thread(new ThreadStart(timeThread));
t.Start();
Thread.Sleep(1000); //1 second

}


public void timeThread()
{
lblDateTimeStamp.Text = DateTime.Now.ToString();
}


#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}
 
G

Guest

Hi Al

I'm not sure why your trying to use a server-side Timer on an asp.net page?
Timer's use up server resources, especially if you are telling it to sleep,
that could potentially tie up your requests. Also you cannot get an async
Timer to work with your web page in this way without doing postbacks to the
server.

I would recommend using the javascript "setTimeout" method on the client
side to create a timer to write to a control.
 
R

Rob Schieber

folks,

Please help. I'm trying to build a user defined control that displays
a time stamp that ticks. Here is what i have so far - it's using
threads but is not working. Can anyone help me please?
Thanks a million in advance.

I think you're taking the wrong approach here. I don't think threading
is going to buy you anything, all your doing is spawining a new thread
thats going out of scope as soon as the page load event completes.

Why not use javascript to implement your timestamp? In page load issue
a RegisterClientScriptBlock("clientScript", scriptString) call, where
your timer code is in the javascript. There are plenty of timer
javascript examples out there.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top