ASP.net中timer的使用

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:21:39
protected void Page_Load(object sender, EventArgs e)
{
Timer timer = new Timer();
timer.Enabled = true;
timer.Tick += new EventHandler<EventArgs>(Timer_Tick);
timer.Interval = 1000;
LblTime.Text = DateTime.Now.ToString();
}

private void Timer_Tick(object sender, EventArgs e)
{
LblTime.Text = DateTime.Now.ToString();
}

页面只显示刚打开的时候的时刻,之后没有变化
上面的代码为什么不行?

谢谢

你这里写的是服务器端代码,没有客户端的访问是不会执行Page_Load事件的,要实现那个改变时间的功能就得用javascript,方法如下

服务端器代码(.cs文件)
protected void Page_Load(object sender, EventArgs e)
{
LblTime.Text = DateTime.Now.ToString("hh:mm:ss");
}
客户端代码(.aspx文件,切换到源页面在</form>和</body>标签之间加,而且LblTime必须在这段代码前定义,这个方法忽略了网络传输消耗的时间)
<script language ="javascript" type ="text/javascript">
var server = document.getElementById("LblTime").innerHTML;
var hours = server.substring(0,2);
var minutes = server.substring(3,5);
var seconds = server.substring(6,8);
setInterval(update,1000);
function update()
{
seconds++;
if(seconds == 60)
{
seconds = 0;
minutes++;
}
if(minutes == 60)
{
minutes = 0;
hours++;
}
if(hours