ASP.Net DataReader ile listeleme

  • 11.09.2015
  • M.Tayyip Yetiş
  • ASP.Net

Merhaba, bu makalede asp.net ile listelemenin pratik yolunu anlatacağım. Aslında MVC'deki listeleme mantığının asp.net'e çevrilmesi de denilebilir tek fark MVC'de verileri model aracılığıyla aktarıyoruz burada ise DataReader sınıfını kullanacağız ve While döngüsü ile Hiçbir Repeater, Datalist vs. kontrolüne ihtiyaç duymadan listeleme yapacağız. Bence daha hızlı ve pratik bir yöntem hala mvc'ye geçmeyenler için ısınma çalışması da denilebilir örnek kullanım aşağıdadır.

Code behind tarafında minimum şöyle bir işlem yapılabilir.

public OleDb.OleDbDataReader dr;
sql = new OleDb.OleDbCommand("select * from urunler", connection);
dr = sql.ExecuteReader();

Design tarafındaki işlem

<table>
<% While dr.Read() { %>
  <tr>
    <td> Ürün Adı :</td>
    <td> <%=dr("urunadi");%> </td>
    <td> <%=dr("urunlinki");%> </td>
  </tr>
<% } %>
</table>
 

Bu şekilde repeater kullanmadan listeleme yapabilirsiniz. Bu yöntemin en büyük avantajlarından biri Viewstate engeli olmamasıdır yani bir asp.net butonuna tıkladığınızda repeater içindeki listelemeyi bir değişkene bağlı olarak değiştirmek istiyorsanız repeater databind işlemini hem page_load içine hem de buton click fonksiyonuna yazmalısınız çünkü siz butona tıkladığınızda önce page_load çalışacak ardından buton tıklama işlemi yapılacaktır yani sadece page_load'a yazmak yeterli olmaz fakat DataReader ile listeleme yaptığınızda sayfa tıklama işleminden önce de sonra da sizin değişkeninizin değerine göre hareket edebilecektir oysa ki repeater sadece tıklama işleminden sonra değişir. umarım anlatabilmişimdir. Herkese kolay gelsin...

Mustafa Tayyip YETİŞ
Yazılım Geliştirme Uzmanı

Yorum Yap