Makale Özeti

Ajax Control Toolkit’lerinden AutoCompleteExtender ile belirttiğimiz değere göre TextBox içerisinde Otomatik Tamamlama seçeneği oluşturmayı inceleyeceğiz.

Makale

Bu makalemde Ajax Control Toolkit’lerinden AutoCompleteExtender ile belirttiğimiz değere göre TextBox içerisinde Otomatik Tamamlama seçeneği oluşturmuş olacağız.

Nesnenin adından da anlaşıldığı gibi Otomatik Tamamlama işlemlerimizi gerçekleştirebildiğimiz bir kontroldür. Günlük yaşamdan örnek verecek olursak Google Suggest şuan bu şekilde bir yapıya sahip.



Bizde yukarıdaki gibi bir TextBox ‘a Otomatik Tamamlama özelliği oluşturacağız. Öncelikle kontrolün özelliklerinden bahsedelim.

TargetControlID = Kontrolün hangi nesne için geçerli olacağını belirtir. (Ör: TextBox1)
ServicePath = Otomatik Tamamlama özelliği için kullanılacak XML Web Servisi’nin Adresini belirtir. (Ör: AutoComplete.asmx)
ServiceMethod = Belirtilen Web Servisinde kullanacağımız Method’u belirtir. (Ör: GetProductName)
Enabled = Çalışabilirliğini belirtir. (Ör: True ya da False)
MinimumPrefixLength = Otomatik Tamamlama’nın en az kaç karakter ile çalışağını belirtir. (Ör: 1,2,3...)

Projemiz için Visual Studio’dan New WebSite işlemini gerçekleştirerek bir ASP.NET AJAX-enabled Web Site oluşturalım. Projemizin Adı : Otomatik Tamamlama

 Projeyi Northwind veritabanına göre oluşturacağız. TextBox içine girilen değere göre bize Products tablosundaki ProductName ‘leri getirecek.

Projemizi oluşturduktan sonra default.aspx sayfasına; 1 Adet Script Manager, 1 Adet TextBox, 1 Adet AutoCompleteExtender ekleyip aşağıdaki görünümü elde edelim.



Daha sonra default.aspx’in design kısmında AutoCompleteExtender’ımızın özelliklerini belirtelim.

 default.aspx sayfasındaki işlemler bitti :)

Kontrol’ün özelliklerinde belirttiğimiz ServicePath ‘deki web servisini oluşturmalıyız. Proje’ye Add New Item’dan bir Web Servis dosyası ekliyoruz (.asmx) ve aşağıdaki gibi düzenliyoruz.



Bu aşamada kullanacağımız NameSpace’leri belirtiyoruz. System.Data , System.Data.SqlClient ve System.Collections  haricindekiler zaten otomatik olarak geliyor. SQL Server’a bağlanacağımız için System.Data , System.Data.SqlClient ve System.Collections ‘larıda ekliyoruz.

Ajax'ın bu servisi kullanabilmesi için web servisini System.Web.Script.Services.ScriptService() şeklinde tanımlıyoruz.



Aynı şekilde ajax’ın servis içerisindeki methodu kullanabilmesi için System.Web.Script.Services.ScriptMethod() şeklinde tanımlıyoruz.



Aşağıdaki gibide geriye string dizisi döndüren bir function yazıyoruz. Burada dikkat etmemiz gereken durum function içinde belirttiğimi değişken adı prefixText! ve geriye dönen tip String[]!

prefixText özel bir isim bu nesne için, değiştirdiğimizde methodu çalıştıramıyoruz!

Projemizi derleyip çalıştırdığımızda, aşağıdaki gibi bir durum olmuş olacak.

ch ile başlayanlar…


g ile başlayanlar…


Başka bir makalede görüşmek dileğiyle…

Gökhan BAĞCI
Microsoft Certified Professional