Tarayıcınız JavaScript! desteklememektedir.

ASP.NET DataList Kullanarak Veri Listeleme

ASP.NET DataList Kullanarak Veri Listeleme 

Bu makalemizde veri tabanindan gelen bilgileri sayfanizda nasil listeleyebileceginizi ögrenebilirsiniz. 

SqlConnection ve SqlCommand komutlarini bildiginizi varsayarak anlatmaya basliyorum (Eger bilmiyorsaniz önceki makalelerimize bakabilirsiniz). 

Veri tabanimizda bulundurdugumuz verilerimizi sayfamizda listelemek için Veri Baglama elemanlarina ihtiyaç duyariz. Bu makalemizde Asp.Net'in elemanlarindan biri olan DataList nesnesini kullanacagiz. 

1. Adim :  Veri tabanimizda bulunan bilgileri metod araciligi ile çekelim. 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data; 
using System.Data.SqlClient; 

 /* Sql Server ile islem yapacagimiz için öncelikle System.Data ve System.Data.SqlClient kütüphanelerini projemize ekliyelim.*/ 

public class DBIslemler 
{ 
// Sürekli kullanacagimiz nesneleri global alanda tanimlayalim. 
    string sorgu; 
    SqlCommand cmd; 
    SqlDataAdapter adp; 
    DataTable dt; 

    private SqlConnection conn() // Baglanti metodumuzu olusturalim. 
    { 
        SqlConnection baglanti = new SqlConnection("Data Source = .; database = Ornek; uid = sa; pwd = 1234"); 
        baglanti.Open(); 
        return baglanti; 
    } 
    public DataTable VeriCek() // Veri tabanindan veri çekecegimiz metodumuzu yazalim. 
    { 
        sorgu = "Select * from tblKategori";  // tblKategoritablosunda bulunan bütün verileri çekecegimiz  sorgumuzu yazalim. 
        // Global alanda tanimladigimiz nesnelerimizi olusturalim. 
        dt = new DataTable();       
        cmd = new SqlCommand(sorgu, conn());         
        adp = new SqlDataAdapter(cmd); 
        adp.Fill(dt); // dt nesnemize adp nesnemizden gelen verileri yükliyelim. 
        conn().Close(); // Veri tabani ile olan isimiz bittigine göre artik baglantimizi kapatabiliriz. 
        return dt; // Ve son olarak dt nesnemizi gönderelim. 
    } 
} 

2. Adim : Veri tabanindan çektigimizbilgileri sayfamizda göstermek için Default.aspx sayfamizin source bölümüne asp:DataList nesnesini ekleyelim. 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
// Bir Asp.Net elemani olan DataList nesnesini projemize ekleyelim ve Backend kisminda kullanacagimiz bir ID tanimlayalim. 
        <asp:DataList ID="dlKategoriler" runat="server">            
             <ItemTemplate> 
                <asp:Label Text="text" runat="server" /> 
            </ItemTemplate> 
        </asp:DataList> 
    </div> 
    </form> 
</body> 
</html> 

3. Adim : VeriCek()metodunu kullanarak çektigimiz verileri Default.aspx sayfamizin Page_Load kisminda dlKategoriler isimli DataList  nesnemize baglayalim. 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
    DBIslemler Islemler = new DBIslemler(); // DBIslemler sinifindan Islemler adinda bir nesne örnegi olusturalim. 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        dlKategoriler.DataSource = Islemler.VeriCek(); // dlKategoriler adli DataList'imizin kaynagini VeriCek() metodumuzdan gelen DataTable olarak tanimlayalim. 
        dlKategoriler.DataBind(); // Kaynak gösterdigimiz verileri dlKategoriler adli DataListimize baglayalim. 
    } 
} 

4. Adim : Gelen bilgileri gösterecegimiz label nesnelerini Eval() kullanarak düzenleyelim. 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
        <asp:DataList ID="dlKategoriler" runat="server"> 
            <ItemTemplate> 
                // DataList'imizde bulunan verileri labellarimizin text özelligini Eval("kolonAdi") kullanarak düzeltelim. 
                <asp:Label Text='<%# Eval("Kategori")%>' runat="server"/>          
            </ItemTemplate> 
        </asp:DataList> 
    </div> 
    </form> 
</body> 
</html> 

Ekran Çiktisi