Merhaba arkadaşlar bu yazımda repeater içinde bulunan kontrollere nasıl ulaşabilceğimizden
bahsedeceğim. Linq to Sql Clases ile ulaştığım veritabanından çektiğim bilgileri tablo ile göstermek istiyorum burada tabloya bilgileri yazarken Repeater nesnesini kullanıyorum. Fakat bunun yanı sıra bir isteğim daha var. Tabloda listelediğim verilerden istediğim satırı silebilmek ! Bunun için repater içindeki verileri tabloya satır satır eklerken her satırın sonuna birde Sil butonu ekliyorum. Sil butonunu eklemesine ekledik ama Repeater içindeki bu kontrole nasıl erişeceğim bu butonu nasıl tetikleyeceğim. Butonlara erişebilmek için kullanmamız gereken event Repeater ın ItemCommand eventıdır. Bu eventi repeater a Repeater kontrolüne tıklayıp Properties penceresinin Event sekmesinden Item_Command Event’ına çift tıklayarak da ekleyebiliriz ya da direk kod olarak elle de ekleyebiliriz. Tercih sizin . Bu arada Repeater a verileri eklemeyi ve listelemeyi önceki yazımda anlattığım için burada bu işlemlerden bahsetmeyeceğim. Dilerseniz önce o yazımı inceleyip daha sonra bu konuya devam edebilirsiniz. Zaten aynı örnek üzerinden devam ediyorum.
Repeaterımıza Item Command eventini ekledikten sonra .aspx sayfasında kod tarafında da eklendiğini görebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 |
<asp:Repeater ID="rpturunler" runat="server" OnItemCommand="rpturunler_ItemCommand"> <ItemTemplate> <tr> <td><a href="#" class="urunlink"><%#Eval("UrunAdi") %></a></td> <td><%#Eval("UrunKodu") %></td> <td> <asp:LinkButton ID="LinkButton2" runat="server" CssClass=" btn btn-danger btn-sm" CommandName="Sil" CommandArgument='<%#Eval("id") %>'> <i class="fa fa-trash" aria-hidden="true"></i>SİL</asp:LinkButton> </td> </tr> </ItemTemplate> </asp:Repeater> |
Şimdi gelelim Sil butonuna tıklandığında işlemimizi yaptırma kısmına ;
1 2 3 4 5 6 7 8 9 10 |
protected void rpturunler_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Sil") { var urun = Data.Urunlertbls.First(x => x.id == Convert.ToInt32(e.CommandArgument)); Data.Urunlertbls.DeleteOnSubmit(urun); Data.SubmitChanges(); GetData(); } } |
CommandName i Sil olan nesneye tıklandığında yapılacak işleme o ürünü silme kodunu yazıyoruz ve işlemimizi yapmış oluyoruz. Asp.Net Repeater kontrolü içerisinde bulunan kontrollere erişme mantığıda bu şekilde.
Soru ve görüşleriniz için yorum yapabilirsiniz. Kolay gelsin .. 🙂
İnsanların işlerini zorlaştıracak yazılar yazmayın lütfen
Yazılımda bir işi yapmak için birden fazla yöntem vardır ve benim repeater içindeki kontrollere erişme yöntemim bu. Zorlaştırmak değil aksine yardımcı olmak için yazıyorum yazılarımı. Daha kolay yöntemleri kendinize ait bir platformda paylaşabilirsiniz teşekkürler 🙂
Teşekkürler Arkadaşım aklımdaki bazı soru işaretlerini giderebildim sonunda
Merhaba ben repater içindeki texbox a ulaşıp text tini alıp yini repater ın içindeki button a tıklandıgında veri tabanına kaydetmek istiyorum siz burda sadece repater içindeki buton tıklamayı göstermişsiniz rica etsem benim yapmak istedigim işlemde bana yardımcı olurmusunuz ?
teşekkürler yazılarınız insanların işlerine yarıyor