Atlas, AJAX para ASP.NET: el TimerControl

Tras el artículo sobre el UpdatePanel de Atlas, tenemos claro que es éste es la estrella de los controles Atlas para ASP.NET... y con él se pueden utilizar otros muchos controles más sencillos, pero muy útiles.

Uno de los más chulos es el TimerControl. Con un simple arrastre de ratón, podemos configurar de manera muy sencilla que cada X milisegundos se ejecute un PostBack AJAX. Si unimos esa característica del TimeControl a un UpdatePanel, tenemos que cada X milisegundos sucede un PostBack, y los elementos que estén dentro del ContentTemplate de uno (o varios!!) UpdatePanel's sean modificados como nosotros deseemos. Por ejemplo, vamos a hacer una página que cada 2 segundos actualice la fecha y hora que estará escrita en un Label:

NuestroCodeBehind.asp.cs

    protected void TimerControl1_Tick(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToString();
    }


NuestroEjemplo.aspx
        <atlas:TimerControl ID="TimerControl1" runat="server" Interval="2000" OnTick="TimerControl1_Tick">
        </atlas:TimerControl>
        <atlas:UpdatePanel ID="UpdatePanel1" runat="server" Mode="Conditional">
            <ContentTemplate>
                <asp:Label ID="Label1" runat="server" Text=""></asp:Label>           
            </ContentTemplate>
            <Triggers>
                <atlas:ControlEventTrigger ControlID="TimerControl1" EventName="Tick" />
            </Triggers>
        </atlas:UpdatePanel>


Como veis, configurar el TimerControl es muy sencillo, pues no hay más que indicar cada cuantos milisegundos se efectuará el PostBack AJAX.

En cuanto al UpdatePanel, tenemos que dentro de nuestro ContentTemplate estará el elemento que vamos a modificar (el Label) y en el apartado de Triggers indicamos que capture el control TimerControl1 cuando ejecute el evento Tick.

Y ya está, así de sencillo es. Ahora ya queda en vuestra imaginación las aplicaciones que sepais darle a esto. Ahí van algunas sugerencias:
- Comprobar cada X milisegundos si un usuario está online de verdad, olvidándose así de ser esclavo de variables de sesión que caducan cada Y minutos.
- Un sencillo chat o messeger entre usuarios.
- Un reloj .
- Tickers con noticias que cambian cada X segundos.
- AdRotators que cambien la publicidad cada cierto tiempo.
- Largo etcétera.