Merih Forum Programlama ve yazılım algoritmalar programlama c# c++ Asp.net Data Kontrolleri İçin Event Yönetimi

Dota 2. MMR sıralamada Türkler

Tr bayraklı Neqroman sadece listeye 163. sıradan girebildi

ABD'nin terörist sevgisi

ABD'nin, terör örgütü PYD/PKK’ya DEAŞ ile mücadele adı altında askeri sevkiyatları sürüyor.

DOTA2 - 2017 THE INTERNATIONAL CHAMPIONSHIP

2017 yazında düzenlenen turnuvada Team Liquid şampiyon oldu

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Asp.net Data Kontrolleri İçin Event Yönetimi

 
#1

Bu yazıda Datalist,Gridview ve Repeater gibi data kontrolleri içinde kullandığımız button,imagebutton gibi kontrollerin event yönetimini anlatılmaktadır.(click() vb..)


Merhaba arkadaşlar, 

bu yazımda Datalist,Gridview ve Repeater gibi data kontrolleri içinde kullandığımız button,imagebutton gibi kontrollerin event yönetimini anlatacağım.(click() vb..)

Öncelikle aşağıdaki gibi bir veritabanı oluşturalım.

1_719.jpg

Repeater kullanarak bu verileri sayfada listeleyelim. Sırasıyla Default.aspx ve Default.aspx.cs de yapılan değişiklikler aşağıdaki gibidir.

Default.aspx
2_608.jpg

Default.aspx.cs
3_512.jpg

Repeater kontrolümüzü veritabanından doldurduk. Gördüğünüz gibi Repeater'a iki adet buton ekledim. Şimdi bunlara ulaşalım ve tıklandığı zaman ne yapılması gerektiğini yazalım. Aslından bu yazıda anlatılmak istenen burada başlıyor. Biz Repeater kontrolünün itemtemplate'ine 2 adet buton koyduk. Her satırda basılan butona, o satırın id'si ile işlem yaptıracağız. 

Bunu gerçekleştirebilmemiz için kullanmamız gerek event, Repeater kontrolümüzün Item_Command Event'ıdır. Default.aspx sayfamızda Design kısmındayken, Repeater kontrolünü seçelim sırasıyla Sağ Tuş>Properties, açılan pencerede Events sekmesine geçelim ve Item_Command Event'ına çift tıklayalım. Codebehind kısmında kodlarımızı yazmaya başlayalım.

Burada hatırlatmam gereken ufak bir şey var. Item Command Event'ında butonların eventlarını yakalayabilmemiz için CommandName ve CommandArgument özelliklerini kullanacağız. Aşağıdaki gibi her bir butona CommandName ve CommandArgument tanımlayalım. Id'ye göre işlem yapacağımız için CommandArgument'i id olarak tanımlıyoruz.

4_409.jpg

Tanımlamamızı yaptıysak. Codebehind kısmına geçip kodlarımızı yazabiliriz.

5_346.jpg

Yaptığımız tam olarak şu. Eğer bastığımız butonun CommandName'i Delete ise silme işlemini yaptırıyoruz. Sadece ilgili satırı sildirmek için de daha önce buton üzerinden tanımladığımız CommandArgument i kullanıyoruz. CommandArgument'e id değerini atadığımız için sadece butonun yer aldığı ilgili satır silinecektir. Aynı şekilde Detay butonuna da işlev kazandıralım. Butona tıklandığında detay.aspx sayfasına gitsin ve ilgili haberin detayını bize göstersin. Bunun için gerekli kod da aşağıdaki gibi olacak;

6_268.jpg

Buradan sadece yönlendirmeyi yapıyoruz. Detaylandırmayı detay.aspx sayfasında, sayfamıza yollanan id parametresini kullanarak yapacağız. Şimdi detay.aspx sayfasını oluşturalım ve bir adet label ekleyelim. Page Load kısmına aşağıdaki kodlarımızı yazarak, ilgili label i dolduralım.

7_203.jpg

Ufak bir şey atlamışım ona değinmeden geçmeyeyim. Butonlara bastığımızda postback olacağından, page load olayı tekrar tetiklenir. Bu da hata almamıza neden olabilir. Buna önlem olarak page load olayındaki kodlarımızı postback olduğunda çalışmamasını sağlarsak hata ortadan kalkacaktır. Bunu sağlayan kodumuz aşağıdaki gibidir;

8_164.jpg

Basit de olsa yararlı olacağını düşündüğüm bir bilgi daha vermek istiyorum. Sil butonuna basıldığı zaman bize bir uyarı penceresi gösterilsin. Bu sayede projemiz daha kullanışlı olur. Bunun için butonun onClientClick özelliğini aşağıdaki gibi düzenlememiz yeterli olacaktır. 

9_133.jpg

Çıkan uyarı ekranında 'Tamam' butonuna basıldığında silme işlemi gerçekleşir. Silme işlemi gerçekleştikten sonra Repeater'ı da güncelleyelim. Bunun için page load'da repeater'ı doldurmak için kullandığımız kodlarımızı doldur() isimli bir metod haline getirelim ve bunu silme işlemini gerçekleştirdiğimiz if bloğu içerisinde en altta tetikleyelim. Bütün bu yaptıklarımızı diğer data kontrolleri üzerinde de aynen uygulayabilirsiniz. Ben sadece repeater üzerinden anlattım.

Sonuç olarak yaptıklarımızı kısaca özetlersek;
Bu yazıda, Gridview,DataList,Repeater gibi asp.net data kontrolleri içersine manuel olarak eklediğimiz asp.net kontrollerine ulaşıp, bu kontrollerle sadece bulunduğu satır üzerinde işlem yaptırmayı ve karşılaşabileceğimiz muhtemel hataların çözümlerine değindik.


 Kaynak Dosyayı İndir






Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  C# CheckState İçin Özel Metod selami 0 323 26-05-2017, Saat: 09:21
Son Yorum: selami

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2017 Tüm hakları saklıdır.