<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<form id="form1" runat="server">
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" EnablePageMethods="true" runat="server">
</cc1:ToolkitScriptManager>
<div>
<asp:TextBox ID="txtcon" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ID="txtcon_AutoCompleteExtender" runat="server"
TargetControlID="txtcon"
ServicePath="Countries.asmx"
ServiceMethod="GetCompletionList"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
>
</cc1:AutoCompleteExtender>
</div>
</form>
and
web service is Countries.asmx is
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using AjaxControlToolkit;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections.Generic;
using System.Collections.Specialized;
namespace AutocompleteExample
{
/// <summary>
/// Summary description for Countries
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, //uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class Countries : System.Web.Services.WebService
{
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletionList(string prefixTest,int count)
{
string connStr = ConfigurationManager.ConnectionStrings["san"].ConnectionString;
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from tbl_country where country_name like '" + prefixTest + "%'", connStr);
DataSet ds2 = new DataSet();
cmd1.Fill(ds2, "countries");
DataTable dt1 = ds2.Tables["countries"];
List<string> country = new List<string>(10);
foreach (DataRow dr in dt1.Rows)
{
country.Add(dr["country_name"].ToString());
}
return country.ToArray();
}
}