Autocomplete extender kullanımı

Autocomplete extender kullanımı

Bu yazımda Asp.Net içinde Ajax AutoComplete Extender in kullanımını anlatacağım. Bu component nedir diyenler için en iyi örnek Google un ana sayfasında arama yaparken yazdığınız birkaç karakter ile ilgili olan sonuçları size dropdown menu halinde göstermesidir.

Bu resmi Ajax in resmi sitesinden örnek olsun diye aldım.
Şimdi gelelim anlatmaya çalışacağım işe, bir veritabanından çekeceğimiz verilerin kullanıcının textbox ında tüm karakterleri yazmadan dropdown menu halinde listelemeye.
Bunun için sayfamıza ScriptManager ve  bir tane textbox ekliyoruz. Textbox a AutoComplete Extender i ekliyoruz.

Code sayfamıza ise
01.[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
02.public static string[] complete(string prefixText, int count, string contextKey)
03.{
04.SqlConnection sqlCon = new SqlConnection();
05.sqlCon.ConnectionString = ConfigurationManager.ConnectionStrings["DBCon"].ConnectionString;
06.  
07.DataSet dtst = new DataSet();
08.  
09.string strSql = "SELECT stu_name,stu_surname FROM student WHERE stu_name LIKE '" + prefixText + "%' ";
10.SqlCommand sqlComd = new SqlCommand(strSql, sqlCon);
11.sqlCon.Open();
12.SqlDataAdapter sqlAdpt = new SqlDataAdapter();
13.sqlAdpt.SelectCommand = sqlComd;
14.sqlAdpt.Fill(dtst);
15.  
16.string[] stuName = new string[dtst.Tables[0].Rows.Count];
17.int i = 0;
18.try
19.{
20.foreach (DataRow rdr in dtst.Tables[0].Rows)
21.{
22.stuName.SetValue(rdr["stu_name"] + " " +rdr["stu_surname"].ToString(), i);
23.i++;
24.}
25.}
26.catch { }
27.finally
28.{
29.sqlCon.Close();
30.}
31.return stuName;
32.}

kodu da yazdıktan sonra textbox in özellikler penceresine bakalım. Sercivemethod özelliğini yazdığımız fonksiyon ismi olan
complete yapalım.


sonuç işte:

2 yorum:

  1. Masterpage kullanıldığında çalışmıyor. bunun bir yöntemni var mı
    sadikonal@gmail.com

    YanıtlaSil
  2. hiç bir problem olmuyordu. bağlantılarında sıkıntı olmuş olabilir tekrar kontrol et derim.

    YanıtlaSil