Ajax AutoComplete Extender ile gelişmiş arama

Ajax AutoComplete Extender ile gelişmiş arama

ASP.NET AJAX AutoComplete extender herhangi bir TextBox kontrolüne bağlanabilir ve bundan sonra  textbox’a yazılan yazı ile başlayan kelimeyle ile ilişkilendirilecek ve pop up panelde bu ilişkili kelimeler gözükecektir.

Dropdown içerisinde web servis tarafından sağlanan aday kelimeler textbox içine yerleştirilecektir.

Belirlenen minimum kelime uzunluğundan fazla içerik yazıldığında, pop up belirlenen değeri baz alarak ona göre kelime veya sözcük takımlarını gösterecektir. Cache özelliği açıldığında  (EnableCaching=”true”) yazılan içerik birden çok gösterilecektir.

 AutoComplete içerisinde kullanacağımız özellikler

<cc1:AutoCompleteExtender
    ServiceMethod=”KategoriAra” // Çağırılacak servis adı
    MinimumPrefixLength=”2″ // Minimum karakter sayısı. Web servisten istek gelmeden önce belirlenmelidir.
    CompletionInterval=”100″// Zamanlayıcının kaç milisaniyede bir web servisten yanıt alacağı giriliyor
    EnableCaching=”false” // Yukarıda açıklandı
    CompletionSetCount=”10″ // Web servisten alınacak istek sayısı
    TargetControlID=”txtContactsSearch” // Bağlı olunan textbox
    ID=”AutoCompleteExtender1″
    runat=”server”
    FirstRowSelected = “false”  // AutoComplete varsayılan olarak ilk satırı seçsinmi
 >
<!–cc1:AutoCompleteExtender>
Servis metod nasıl çağrılır
Aşağıda web servis code-behinde sayfasından nasıl çağrılır görebilirsiniz. Ayrıca birazdan kodlar içerisinde de kullanacağız.
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static List KategoriAra(string prefixText, int count) {
}

AutoComplete aday kelimeleri veritabanından çekip göstermek

[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> KategoriAra (string prefixText,  int count)
{
    using (SqlConnection conn = new SqlConnection())
    {
        conn.ConnectionString = ConfigurationManager
                .ConnectionStrings[“constr”].ConnectionString;
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = “select KategoriAdi from Kategoriler where ” +
            “KategoriAdi like @AranacakKelime + ‘%'”;
            cmd.Parameters.AddWithValue(“@AranacakKelime “, prefixText);
            cmd.Connection = conn;
            conn.Open();
            List<string> customers = new List<string>();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    customers.Add(sdr[“KategoriAdi “].ToString());
                }
            }
            conn.Close();
            return customers;
        }
    }
}

 

Kolay Gelsin

Muavenet

Web teknolojilerine merak salmış bir bilgisayar mühendisinin yazıları

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir