Data Binding ASP.Net Tutorial

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" 
    Inherits="Default" %>



    Repeater in action


    
        
                            AutoPostBack="true" 
                AppendDataBoundItems="True" 
                OnSelectedIndexChanged="Countries_SelectedIndexChanged">
                [No country]
            
            
            
                
                    

We have customers in the following cities


                    
                
 
                
                    
                

                
                    <%# Eval("City") %>   <%# Eval("Country")%>
                

                
                    
                    <%# CalcTotal() %> cities
                

            
        
    



File: Default.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default : System.Web.UI.Page
{
    DataTable data;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            FillCountries();
        }
    }
    protected void FillCountries()
    {
        string connString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
        string cmdText = "SELECT DISTINCT country FROM customers;";
        data = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connString);
        adapter.Fill(data);
        Countries.DataSource = data;
        Countries.DataTextField = "country";
        Countries.DataBind();
    }
    protected int CalcTotal()
    {
        return data.Rows.Count;
    }
    protected void Countries_SelectedIndexChanged(object sender, EventArgs e)
    {
        string connString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
        string cmdText = "SELECT DISTINCT country, city FROM customers WHERE country=@TheCountry";
        data = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connString);
        adapter.SelectCommand.Parameters.AddWithValue("@TheCountry", Countries.SelectedValue);
        adapter.Fill(data);
        Repeater1.DataSource = data;
        Repeater1.DataBind();
    }
}