Os Ajax Extensions contém um conjunto de controles simples, que executam chamadas assíncronas através de controles visuais, usando os conceitos de AJAX. Temos nesta aba cinco controles, que são os seguintes:

 ScriptManager – O ScriptManager é o controle principal desta aba. É ele que habilita as funcionalidades do AJAX na página. Deve existir, obrigatoriamente, apenas um deste controle em cada página.


<asp:ScriptManager ID="ScriptManager1" runat="server">

        asp:ScriptManager>

 ScriptManagerProxy – Usado em conjunto com o ScriptManager, este controle é usado em uma página de conteúdo (página que usa uma MasterPage que contenha o ScriptManager).


<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">

        asp:ScriptManagerProxy>

 Timer – Este controle deve ser usado para executar eventos em determinados intervalos pré-definidos.


<asp:Timer ID="Timer1" runat="server">

        asp:Timer>

 UpdatePanel – Um dos controles mais importantes, o UpdatePanel permite que “pedaços” de uma página sejam atualizados, de forma assíncrona.


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

        asp:UpdatePanel>

 UpdatePanelProgress – Caso a requisição assíncrona demore muito tempo, podemos usar este controle para dar um “feedback” ao usuário exibindo uma mensagem ou imagem animada, enquanto ele aguarda a requisição se completar.


<asp:UpdateProgress ID="UpdateProgress1" runat="server">

        asp:UpdateProgress>

 Agora crie uma aplicação Web, insira um ScriptManager (sempre ele deverá ser usado) na página, arraste o UpdatePanel e os controles Label e Timer para dentro dela. Altere a propriedade Interval do Timer para 1000 (milissegundos, equivalente a 1 segundo). Finalmente dê um duplo clique sobre o Timer e escreva o seguinte código, no evento Tick:

protected void Timer1_Tick(object sender, EventArgs e)

        {

            this.lblData.Text = DateTime.Now.ToString();

        }

 Aperte F5 para compilar e veja o resultado:


Note o código ASPX que o UpdatePanel gerou:

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

            <ContentTemplate>

                <asp:Timer ID="Timer1" runat="server" Interval="1000">

                asp:Timer>

                <br />

                <br />

                <asp:Label ID="lblData" runat="server" Text="Label">asp:Label>

            ContentTemplate>

        asp:UpdatePanel>

 Obs: Sempre os controles devem estar dentro da tag ContentTemplate, do UpdatePanel, para poderem rodar sem problemas.

 Experimente fazer outros testes com o UpdatePanel, que sem dúvida, será o controle do Ajax Extensions mais usado por você.

Irei fazer uma série de artigos somente usando o UpdatePanel, que será abordado com mais ênfase.

 Assim finalizo o artigo. Muito obrigado a todos! 

 Um abraço, e até o próximo artigo.

 Wellington Balbo de Camargo

 wellingtonbalbo@gmail.com