Ajax ASP.Net Tutorial

<%@ Page Language="C#" %>
<%@ Register TagPrefix="ajax" Namespace="AjaxControlToolkit"
 Assembly="AjaxControlToolkit" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.Linq" %>
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    [System.Web.Services.WebMethod]
    public static string[] GetSuggestions(string prefixText, int count)
    {
        MyDatabaseDataContext db = new MyDatabaseDataContext();
        List products = db.Products
            .Where( m => m.Title.StartsWith(prefixText) )
            .OrderBy( m => m.Title )
            .Take(count)
            .ToList();
        return products
            .Select( m => AutoCompleteExtender.CreateAutoCompleteItem(
               m.Title, m.Id.ToString()))
            .ToArray();
    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        lblSelectedProductTitle.Text = txtProductTitle.Text;
        lblSelectedProductId.Text = ace1Value.Value;
    }



    AutoComplete Page Method
    
    function ace1_itemSelected(sender, e)
    {
        var ace1Value = $get('<%= ace1Value.ClientID %>');
        ace1Value.value = e.get_value();
    }
    


    
    

    
            id="lblProductTitle"
        Text="Product:"
        AssociatedControlID="txtProductTitle"
        Runat="server" />
            id="txtProductTitle"
        AutoComplete="off"
        Runat="server" />
            id="ace1"
        TargetControlID="txtProductTitle"
        ServiceMethod="GetSuggestions"
        MinimumPrefixLength="1"
        OnClientItemSelected="ace1_itemSelected"
        FirstRowSelected="true"
        runat="server" />
            id="ace1Value"
        Runat="server" />
            id="btnSubmit"
        Text="Submit"
        OnClick="btnSubmit_Click"
        Runat="server" />
    
    Title:
            id="lblSelectedProductTitle"
        runat="server" />
    
    Primary Key:
            id="lblSelectedProductId"
        runat="server" />