In this article I will explain with an example, how to bind (Load) GridView after Page load is completed using 
AJAX UpdatePanel and 
Timer control in ASP.Net using C# and VB.Net.
 
     
    
        
Database
    
    Here I am making use of Microsoft’s Northwind Database. You can download it from here.
    
     
     
    
        
HTML Markup
    
    The following HTML Markup consists of following controls:
    ScriptManager – For enabling 
AJAX functions.
 
    UpdatePanel – For refreshing control.
     
    The UpdatePanel consists of:
    Timer – For triggering event (TASK) at a specific interval of time.
    Timer control has been assigned with an OnTick event handler. 
    
        
Properties
    
    Interval – For specifying the time interval between each OnTick event in milliseconds. Here it is set to 1000 i.e. 1 second.
    Events
    Timer control has been assigned with an OnTick event handler. 
     
    GridView – For displaying data.
    GridView consists of three BoundField columns.
     
    Image - For displaying loading animation (loader image).
    
        <asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel" runat="server">
            <ContentTemplate>
                <asp:Timer ID="Timer" runat="server" OnTick="TimerTick" Interval="1000">
                </asp:Timer>
                <asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false">
                    <Columns>
                        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" />
                        <asp:BoundField DataField="City" HeaderText="City" />
                        <asp:BoundField DataField="Country" HeaderText="Country" />
                    </Columns>
                </asp:GridView>
                <asp:Image ID="imgLoader" runat="server" ImageUrl="~/Loading.gif" />
            </ContentTemplate>
        </asp:UpdatePanel> 
     
     
     
    
        
Namespaces
    
    You will need to import the following namespaces.
    C#
    
        using System.Data;
        using System.Data.SqlClient;
        using System.Configuration;
     
     
    VB.Net
    
        Imports System.Data
        Imports System.Data.SqlClient
        Imports System.Configuration
     
     
     
    
        
Binding the GridView
    
    Inside the 
TimerTick event handler, the GridView is populated with records from the 
SQL Server database.
One the GridView is populated, the Timer control is disabled and the Image control is hidden. 
    
        Note: It is important to disable the Timer Control in its OnTick event handler so that it does run continuously.
    
     
    C#
    
        protected void TimerTick(object sender, EventArgs e)
        {
         
            string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            string query = "SELECT Top 10 CustomerID,City,Country FROM Customers";
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlDataAdapter sda = new SqlDataAdapter(query, con))
                {
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        gvCustomers.DataSource = dt;
                        gvCustomers.DataBind();
                    }
                }
            }
            Timer.Enabled = false;
            imgLoader.Visible = false;
        }
     
     
    VB.Net
    
        Protected Sub TimerTick(ByVal sender As Object, ByVal e As EventArgs)
            Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
            Dim query As String = "SELECT Top 10 CustomerID,City,Country FROM Customers"
            Using con As SqlConnection = New SqlConnection(constr)
                Using sda As SqlDataAdapter = New SqlDataAdapter(query, con)
                    Using dt As DataTable = New DataTable()
                        sda.Fill(dt)
                        gvCustomers.DataSource = dt
                        gvCustomers.DataBind()
                    End Using
                End Using
            End Using
         
            Timer.Enabled = False
            imgLoader.Visible = False
        End Sub
     
     
     
    
        
Screenshot
    
    ![Bind (Load) GridView after Page load is completed using AJAX UpdatePanel in ASP.Net]() 
     
     
    
        
Demo
    
    
     
     
    
        
Downloads