Asp.Net DropDownList’e Veri Listeleme

Asp.Net DropDownList’e Veri Listeleme, Bugün DropDownList’e veritabanında bulunan verilerimizi listelemeyi göstereceğiz.

Asp.Net‘te her işlemi Dataliste yaptırmak daha mantıklı gibi gelse de aslında Datalist kullanımı ile DropDownList’e veri çekmek daha zordur. Bunun sebebi Datalist içerisindeki bir DropDownListe ulaşmak oldukça zordur. Bu durum sadece DropDownList için değil Label, Textbox ve diğer form elemanları için geçerlidir.Bu yüzden Datalist kullanmadan verilerimizi ekleyeceğiz.

Öncelik olarak Default.aspx sayfamızı oluşturalım. Sayfamızı oluşturduktan sonra DropDownList’i 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 class="col-12 ">
            <asp:DropDownList ID="Dropdownlist1" runat="server" CssClass="form-control">
            </asp:DropDownList>
        </div>
    </form>
</body>
</html>

Farkettiğiniz gibi ListItemları eklemedik. Çünkü direk olarak ListItemlar içerisinde verilerimizi listeleyeceğiz.

Şimdi ise Default.aspx.cs sayfamıza geçiyoruz. İlk olarak;

using System.Data;
using System.Data.SqlClient;

kodlarını projemize dahil ediyoruz.Daha sonra private void Baglan() adında SqlConnection’ı oluşturacağız ve Page_Load olayına;

public SqlConnection Baglan()
{
  string kaynak = "Server=.; Database=deneme; User Id=sa; Password=123;";
  SqlConnection con = new SqlConnection(kaynak);
   //Her işlemde bağlantıyı tekrar tekrar açmamak için burada  açıyoruz.
  con.Open(); 
  //Değerimizi döndürüyoruz.
  return con; 
}

protected void Page_Load(object sender, EventArgs e)
{
 SqlCommand comm; //Sorgu nesnemizi oluşturalım.
 if (!IsPostBack)
 {
    //Sorgumuzu oluşturalım.
   comm = new SqlCommand("select * from tblDersler", Baglan());
   
   //Etkilenen satır sayımızı döndürüyoruz
   comm.ExecuteNonQuery();
   
   //verilerimizi okuyucuya gönderiyoruz.
   SqlDataReader dr = comm.ExecuteReader();
   
   //Verileri okuyoruz
   while (dr.Read())
   {
     //ListItem oluşturuyoruz
     ListItem litem = new ListItem();
     
     //Oluşturduğumuz listitemlara value ve text değerlerini 
     //veritabanındaki haliyle ekliyoruz
     litem.Text = dr["konuBaslik"].ToString();
     litem.Value = dr["konuid"].ToString();
    
     //Dropdownliste ekliyoruz
     Dropdownlist1.Items.Add(litem);
   }
   Baglan().Close(); //Bağlantıyı kapatıyoruz
   dr.Close();       //okuyucuyumuzu kapatıyoruz.
 }
}

kodlarını yazıyoruz. Bu işlem sonucunda Web sayfasını açarak Dersler Listesinin DropDownList içine çekildiğini göreceğiz;

Yapmak istediğimiz işlemi if (!IsPostBack){ } içerisinde yazmamızın sebebi sayfa her yenilendiğinde tekrar tekrar bu verileri eklemesini önlemeyi sağlamak. Ispostback nedir detaylı bir şekilde inceleyelim.

IsPostBack Nedir?

Sadece IsPostBack değil PostBack ve AutoPostBack kavramlarıda vardır.

Asp.Net DropDownlist'e Veri Ekleme

Bazı durumlarda sayfanın ilk kez mi çağırıldığı yoksa sunucuya geri mi gönderildiğini bilmek ve yönetmek gerekebilir. Bunu anlamak için Page sınıfına ait IsPostBack özelliğini kullanırız.  Yani aslında sayfanın geri postalanması durumunu yönetir.

Yukarıda yaptığımız DropDownList’e veri eklemede Ispostback özelliğini kullandık. Eğer IspostBack kullanmasaydık DropDownList’e eklediğimiz veriler sayfa her yüklendiğinde eklenmeye devam edecekti. Bu kullanım ile bu ihtimalin önüne geçmiş olduk.

PostBack Nedir?

Asp.Net komutları sunucu tarafında çalışan kodlardır. İstemci bir talepte bulunduğunda sayfa sunucuya ulaşır ve belirtilen işlemler sunucuda sayfa oluşturularak html çıktısı istemciye gönderilir. İşlemlerin yapılması için sayfanın sunucuya geri gönderilmesine postback işlemi denir.

AutoPostBack Nedir?

AutoPostBack kullanımı olduğunda form elemanlarının otomatik olarak postalanması gerektiğinde verilerin bulunduğu DropDownList’in AutoPostBack özelliğini True yaparız. Kullanıcı kontrolden ayrıldığı anda veriler sunucuya gönderilmiş olur.

Bugün sizler için Asp.Net DropDownList’e veri ekleme olayını ve aynı zamanda PostBack, IsPostBack ve AutoPostBack kavramlarını öğrendik. Sizin için en yol gösterici ve kolay olduğunu düşündüğümüz bir yolu seçtik. Kolay gelsin.

 

 

Asp.Net DropDownList’e Veri Listeleme