WebPartZone İçerisinde UserControl Kullanmak
Not: Web Partlarla ilgili geniş bilgiyi Zirvedeki Beyinler Serisine ait ASP.NET Framwork 3.5 kitabımızda bulabilirsiniz.

Bazı durumlarda WebPart olarak UserControl kullanmak isteyebilirsiniz. Her ne kadar kulağa zor gelse de aslında bunu yapmak çok kolay. Tek yapmanız gereken oluşturduğunuz UserControl’ü WebPartZone içerisine bırakmak.

Ben konuyu yazarken başladığım örnek üzerinden devam edeceğim. Size isterseniz yeni bir proje açarak da yapabilirsiniz.

Proje Sonunda aşağıdaki yapıyı oluşturmaya çalışacağız. Sayfamız üzerinde bir adet WebUserControl olacak ve bu kontrol içerisinde kategorilerine göre kitap araması yapılacak.

webpartzone-içerisinde-usercontrol-kullanmak-1

webpartzone-içerisinde-usercontrol-kullanmak-1

Öncelikle örneği yapmak için bir adet veritabanına ihtiyacımız var. Ben MS Access veritabanı oluşturuyorum. Siz istediğiniz başka bir veritabanını da kullanabilirsiniz. Benim kullandığım veritabanı tablosuna ait görüntüler aşağıdaki gibidir.

Tasarım Görüntüsü

webpartzone-içerisinde-usercontrol-kullanmak-2

webpartzone-içerisinde-usercontrol-kullanmak-2

Veri Görüntüsü

webpartzone-içerisinde-usercontrol-kullanmak-3

webpartzone-içerisinde-usercontrol-kullanmak-3

Solution Explorer da projeniz üzerinde sağ tıklayarak aşağıdaki resimdeki gibi Add Existing Item diyerek veritabanınızı projenize ekleyiniz.

webpartzone-içerisinde-usercontrol-kullanmak-4

webpartzone-içerisinde-usercontrol-kullanmak-4

WebSite/Add New Item/Web User Control yolunu takip ederek projenize bir adet Web User Control ekleyiniz. İsmini KitapArama.ascx bırakınız. Aşağıdaki tasarımı oluşturunuz. Sayfa üzerine birer adet DropDownList ve Gridview, iki adet de AccessDataSource ekledik.

webpartzone-içerisinde-usercontrol-kullanmak-5

webpartzone-içerisinde-usercontrol-kullanmak-5

Sırasıyla aşağıdaki işlemleri yapınız.
AccessDataSource1’i aşağıdaki gibi yapılandırınız.

 

< /AccessDataSource>

Burada kitap kategorileri Distinct komutu ile teke indirilmiştir.
AccessDataSource2’yi aşağıdaki gibi yapılandırınız.

 

 

SelectParameters>
< /AccessDataSource>

Burada kullanıcının DropDownlist kontrolünden seçtiği kitap kategorisine ait kitaplar listelenecektir.
DropDownList1’i aşağıdaki gibi yapılandırınız.

 

< /DropDownList>

GridView1’in DataSource özelliğine AccessDataSource2’yi gösteriniz. Aynı zamanda Allow Paging özelliğine “true” diyerek kayıtlarda sayfalama yapabilirsiniz.
Artık UserControlümüz çalışır durumda.

Şimdi tek yapmamız gereken sayfanıza bir adet WebPartZone eklemek ve Solution Explorer sekmesindeki KitapArama.Ascx isimli UserControl’ü bu WebPartZone içerisine sürüklemek.

webpartzone-içerisinde-usercontrol-kullanmak-6

webpartzone-içerisinde-usercontrol-kullanmak-6

İşte sonuç…

webpartzone-içerisinde-usercontrol-kullanmak-7

webpartzone-içerisinde-usercontrol-kullanmak-7

Diğer yazılarımda görüşmek dileğiyle.