ASP.NET AJAX入门系列(10):Timer控件简单使用

本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下ASP.NET AJAX中的服务端Timer控件的简单使用。

 

主要内容

    Timer控件的简单使用

 

1.添加新页面并切换到设计视图。

2.如果页面没有包含ScriptManager控件,在工具箱的AJAX Extensions标签下双击ScriptManager控件添加到页面中。

3.单击ScriptManager控件并双击UpdatePanel控件添加到页面中。

4.在UpdatePanel控件内单击并双击Timer控件添加到UpdatePanel中。Timer控件可以作为UpdatePanel的触发器不管是否在UpdatePanel中。

5.设置Interval属性为10000Interval属性的单位是毫秒,所以我们设置为10000,相当于10秒钟刷新一次。

6.在UpdatePanel控件中添加一个Label控件。

7.设置Label控件的Text属性为“Panel not refreshed yet  ”。确保Label控件添加在了UpdatePanel控件里面。

8.在UpdatePanel之外再添加一个Label控件。确保第二个Label控件在UpdatePanel的外面。

9.双击Timer控件添加Tick事件处理,在事件处理中设置Label1Text属性为当前时间。

protected void Timer1_Tick(object sender, EventArgs e)

{
    Label1.Text 
= "Panel refreshed at: " +

      DateTime.Now.ToLongTimeString();
}

10.在Page_Load事件中添加代码设置Label2Text属性为页面创建时间,如下代码所示:

protected void Page_Load(object sender, EventArgs e)

{
    Label2.Text 
= "Page created at: " +

      DateTime.Now.ToLongTimeString();
}

11.切换到代码视图,确保代码如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    Label2.Text 
= "Page created at: " +

      DateTime.Now.ToLongTimeString();
}


protected void Timer1_Tick(object sender, EventArgs e)

{
    Label1.Text 
= "Panel refreshed at: " +

      DateTime.Now.ToLongTimeString();
}

12.保存并按Ctrl + F5运行

13.等待10秒钟后可以看到Panel刷新,里面的Label文字改变为刷新的时间而外面的Label没有改变。

 

[翻译自官方文档]

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-11-14 22:43 TerryLee 阅读(14343) 评论(40)  编辑 收藏 网摘 所属分类: [08]  Web开发

  回复  引用  查看    
#1楼 2006-11-15 11:42 | Charming.Z      
:)
  回复  引用  查看    
#2楼 2006-11-15 11:50 | Charming.Z      
请问一下,在beta2中还可以使用xml-script吗?在哪里可以找到帮助文档?
  回复  引用  查看    
#3楼 [楼主]2006-11-15 12:49 | TerryLee      
@Charming.Z
好像不行吧,我还没有看客户端那块
  回复  引用  查看    
#4楼 2006-11-15 14:00 | 小镇姑娘她爹      
简单易懂,不错啊
  回复  引用  查看    
#5楼 2006-11-15 15:16 | Hunts.C      
我的Sys undefied解决了,它自己好的,也不知道为什么~~~
  回复  引用  查看    
#6楼 [楼主]2006-11-15 20:09 | TerryLee      
@小镇姑娘她爹
翻译的官方文档:)
  回复  引用  查看    
#7楼 [楼主]2006-11-15 20:10 | TerryLee      
@Hunts.C
唉……

看来现在的核心版还是不稳定-_-
  回复  引用    
#8楼 2006-11-22 13:32 | .NET CODER [未注册用户]
nice
  回复  引用    
#9楼 2006-11-28 09:09 | liupan [未注册用户]
good!
  回复  引用  查看    
#10楼 [楼主]2006-11-28 09:40 | TerryLee      
@.NET CODER
@liupan
:)
  回复  引用    
#11楼 2006-12-25 09:36 | Batista [未注册用户]
每天都从这里得到充实~
  回复  引用  查看    
#12楼 [楼主]2006-12-25 11:38 | TerryLee      
@Batista
:)
  回复  引用  查看    
#13楼 2006-12-30 15:59 | FutureFlare      
服务器怎样通知客户端更新某项?AJAX能否实现从服务器端发起的请求?
  回复  引用    
#14楼 2007-02-14 10:50 | Deded [未注册用户]

  回复  引用    
#15楼 2007-03-02 17:13 | 游客 [未注册用户]
兴奋
  回复  引用    
#16楼 2007-03-12 11:06 | yuki [未注册用户]
看完!学到新知识了!~
  回复  引用    
#17楼 2007-03-25 13:17 | qucha [未注册用户]
ASP.NETAJAX入门系列将会写关于ASP.NETAJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新。
  回复  引用  查看    
#18楼 2007-03-26 15:35 | 扑街仔      
这个很简单..呵呵.学习了!
  回复  引用    
#19楼 2007-03-30 14:39 | helen [未注册用户]
我照着一步一步做的,可是Timer的事件根本不会触发啊?可能是什么原因哪?
  回复  引用    
#20楼 2007-04-14 15:45 | zengerYum [未注册用户]
真是翔实的解释,我越来越有兴趣了,请继续更新,期待ing.....
  回复  引用    
#21楼 2007-04-16 11:22 | m [未注册用户]
不对啊,当我把timer放入updatepanel中时会有404错误
如果把timer放在外面,依照上面的做法则刷新整个页面.
当把updatepanel的triggers设为time tick后,则1235什么的有错误提示和上面的404差不多
  回复  引用    
#22楼 2007-05-16 13:22 | shadow [未注册用户]
我的Sys undefied 问题怎么解决啊???
  回复  引用    
#23楼 2007-06-13 09:46 | 木其子 [未注册用户]
支持!按照TerryLee's的方法做了无刷新在线用户列表,真不错!谢谢~永远支持你!
  回复  引用    
#24楼 2007-06-30 14:07 | aa [未注册用户]
Timer 能不能只控制一个updatePanle啊.
同一个页面下 多个updatePale 我只想定时刷新一个 怎么办??
  回复  引用  查看    
#25楼 2007-08-26 15:56 | 淡泊江湖      
@aa
“同一个页面下 多个updatePale 我只想定时刷新一个 怎么办??”——
注意“Timer控件添加到UpdatePanel中”,就是一个UpdatePanel对应一个Timer,那多个UpdatePanel分别添加各自的Timer就可以了!

我倒有一个“弱弱”的问题要请教LZ及各位:“同一个页面下 多个updatePale 我只想用一个Timer定时刷新 怎么办??
(这也许是个不太合理的要求,因为既然是一个Timer刷新多个updatePale,那为何不把多个updatePanel变成一个呢?不过,不知道这样的要求如何实现)

补充(不好意思,LZ的下面一篇正式我所问的,赶紧看去!谢谢LZ的入门经典,该系列通俗易懂!UP!)
  回复  引用    
#26楼 2008-03-29 19:04 | ycyaosir [未注册用户]
麻烦你看下,我想说的是界面通过timer定时刷新同时从数据库提取数据,界面要看不出刷新,还要通过timer定时刷新?how to do?
  回复  引用    
#27楼 2008-06-18 09:53 | edison_nba [未注册用户]
请问下楼主,如果我要在一定时间后停止刷新应该怎么做啊?
  回复  引用  查看    
#28楼 2008-07-11 10:14 | 沙漠之驼      
能写这么通俗易懂,佩服
  回复  引用  查看    
#29楼 2008-07-11 10:15 | 沙漠之驼      
这几天照着上面把所有例子过了一遍,太佩服楼主了,叫人不得不回复,呵呵
  回复  引用  查看    
#30楼 2008-07-19 17:37 | stg609      
楼主,不知道为什么,我用timer控件,直接在vs下预览,就是按F5运行,一切正常,可以正常间隔的刷新,但是用IIS预览,则时好时坏,现在的情况基本是:前1秒(我以1秒为间隔时间)可以正常刷新,然后就不刷新了,隔了很久会跳出什么"SYS.WebForms.PageRequestManagerTimeoutException:The server request timed out",然后我点确定后,有时会继续间隔的刷新,但是很快又不刷新了。有时,则还是老样子。

苦恼呀,不知道楼主有没有这种情况?




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: