引子
在刚刚发布的ExtAspNet v2.1.1版本中,应网友要求添加了ext:Timer控件,实现的效果就是定时回发 (AJAX)到服务器执行一段C#代码。
因为这个控件非常简单,没有页面可视元素,所以我就单独拿出来讲解一下,或许对大家阅读 ExtAspNet源代码有一定的帮助。
使用Timer控件
先来看下使用Timer的例子(在线版本):
ASPX标签声明:
01.<ext:PageManager ID="PageManager1" runat="server" />
02.<ext:Timer ID="Timer1" Interval="3" Enabled="false" OnTick="Timer1_Tick" runat="server">
03.</ext:Timer>
04.<ext:Button ID="btnStartTimer" runat="server" Text="Start Timer" OnClick="btnStartTimer_Click">
05.</ext:Button>
06.<ext:Button ID="btnStopTimer" runat="server" Text="Stop Timer" OnClick="btnStopTimer_Click">
07.</ext:Button>
08.<br />
09.<ext:Label ID="labServerTime" runat="server" Text="This is current datetime.">
10.</ext:Label>
这里定义Timer1每隔3秒回发服务器一次(Interval="3"),默认不启用(Enabled="false"),同时 定义后台事件处理函数(OnTick="Timer1_Tick")。
C#代码:
01.protected void Timer1_Tick(object sender, EventArgs e)
02.{
03. labServerTime.Text = DateTime.Now.ToString();
04.}
05.protected void btnStartTimer_Click(object sender, EventArgs e)
06.{
07. Timer1.Enabled = true;
08.}
09.protected void btnStopTimer_Click(object sender, EventArgs e)
10. {
11. Timer1.Enabled = false;
12.}