[翻译]Timer控件概要(Timer Control Overview)

 

Timer控件概要

一、引言:

Timer控件实现固定时间间隔提交页面功能。如果你使用timer控件和UpdatePanel控件可以实现固定时间间隔局部刷新页面。你也可以用timer控件来提交整个页面。

二、本篇包含以下部分:

1.使用情景

2.背景

3.实例代码

三、Timer控件适用情况:

你可以使用timer控件实现如下效果:

1. 不刷新整个页面,周期性的更新一个或多个updatepanel

2. 每次通过timer控件产生回发来执行服务器端代码。

3. 固定时间间隔同步的向服务器回发所有页面。

 

四、背景

       Timer控件是一个服务器端控件,其作用就是嵌入一段javascript代码到网页中。当Interval属性实例化了,这段被嵌入的javascript代码就可以通过浏览器提交该页面。你在服务期端代码里设置的Interval属性值将会被传递给页面上的javascript代码。

       使用timer控件时,必须要页面内包含一个ScriptManage类的实例。当timer控件提交页面,将会触发它的Tick事件。你可以编写Tick事件用来处理页面提交到服务器后的行为。Interval属性控制页面提交的频率,Enable属性控制timer控件的运行和停止。Interval属性的单位是毫秒,默认值是60000毫秒,也就是60秒。

注意:

       当把Interval属性设置很小时,将会给服务器产生不必要的流量。因此,只有在必要时通过timer控件来刷新页面内容。

       如果不同的updatepanel控件需要在不同的时间间隔刷新,你可以在页面内放置多个timer控件。换句话说,一个timer控件可以触发页面中多个updatepanel控件刷新。

 

五、在updatepanel控件里面使用timer控件

      

    如果timer控件被放在updatepanel内部,它将自动做为updatepanel控件异步刷新的触发器。你可以通过设置updatepanel 的“ChildrenAsTriggers”属性为“false”来重写这个行为。

       由于timer控件在updatepanel控件内部,当每次页面回送结束时,javascript会适时建仓其构成要素有没有被重新创建。因此,timer控件是从页面回送结束时开始计时的。举个例子:比如Interval属性设置为60000毫秒(60秒),然而页面回送花了3秒钟,那么下一次回送将会在前一次的63秒后发生。

       下面的例子讲指出如何在updatepanel内部应用timer控件

<asp:ScriptManager runat="server" id="ScriptManager1" />

<asp:UpdatePanel runat="server" id="UpdatePanel1"

    UpdateMode="Conditional">

<contenttemplate>

    <asp:Timer id="Timer1" runat="server"

      Interval="120000"

      OnTick="Timer1_Tick">

    </asp:Timer>

</contenttemplate>

</asp:UpdatePanel>

六、在updatepanel控件里面使用timer控件

       timer控件在updatepanel控件外部的时候,你必须明确的指定其为updatepanel控件的更新触发器。在页面回送时(不是回送结束),javascript就会适时检测其构成要素有没有继续运行。举个例子:比如Interval属性设置为60000毫秒(60秒),然而页面回送花了3秒钟,那么下一次回送将会在前一次的60秒后发生。用户仅仅只有57秒的时间去看更新的内容。你必须把Interval属性值设置为大于一次异步刷新完成的时间,否则当前一次回送刚刚执行(没有执行完成),这时后一次回送开始了,那么前一次回送将会被取消。(实际上这是一个无限循环,将导致一次回送都处理不了)

       下面的例子讲指出如何在updatepanel外部应用timer控件

<asp:ScriptManager runat="server" id="ScriptManager1" />

<asp:Timer ID="Timer1" runat="server" Interval="120000"

OnTick="Timer1_Tick">

</asp:Timer>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">

<Triggers>

    <asp:AsyncPostBackTrigger ControlID="Timer1"

        EventName="Tick" />

    </Triggers>

    <ContentTemplate>

      <asp:Label ID="Label1" runat="server" ></asp:Label>

</ContentTemplate>

</asp:UpdatePanel>

 

 

马马虎虎算是把这个翻译完了,看的明白不代表能说的明白,郁闷阿~感觉翻译的很不好,得多练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值