Asp.Net'te Sınırsız Menü ve Alt Menü Örneği 1

Bu makalemizde ASP.Net ile sınırsız kategori ve alt kategori mantığıyla yapılmış bir örneğimizi sizlere aktarmaya çalışacağız.

Asp.Net ile yaptığınız projelerde bazen kategori, alt kategori veya menü, alt menü ihtiyacı doğar. Bu makalemizde bu hiyerarşinin sınırsız döngüye sahip olanı anlatılcaktır. Makalede, kategori ve alt kategori sistemi üzerine örnek yapacağız.
Öncelikle veritabanı tasarımını yapalım. Anlatımlar, access veritabanı üzerinde yapılacaktır.
Veritabanı Sorgusu
CREATE Table tblKategoriler
(
kategori_ID AutoIncrement,
ust_kategori_ID NUMERIC,
kategori TEXT(50)
)
Veritabanımız oluştu. Burada ust_kategori_ID adlı sütunun varsayılan değerinini "0" olarak belirtmemiz gerekir. Çünkü hangi sütunun ana kategori olarak bilinmesindeki bir belirteç olacaktır. Veritabanımızdaki tblKategoriler adlı tabloyu düzenleyip ilgili sütunun varsayılan değerini 0 (sıfır) olarak belirtiyoruz.
Kategoriler
Asp.Net'te Sınırsız Menü ve Alt Menü Örneği 1

Veritabanımız ile ilgili ayarlamaları yaptık. Şimdi ise ilk olarak ana kategorileri ekleyelim.

Ana kategorilerimiz şunlar olsun: Bilgisayar, Televizyon, Giyim
Alt Kategoriler
Asp.Net'te Sınırsız Menü ve Alt Menü Örneği 1

Ana kategorilerin (yani en üst kategorilerin) ust_kategori_ID değeri "0" olacak şekilde çalışmamızı ayarladık.
Ana kategorilere ait alt kategorileri de girelim.

Bilgisayar kategorisine ait alt kategoriler: Laptop, Masaüstü, Netbook (ust_kategori_ID = 1)

Televizyon kategorisine ait alt kategoriler: LCD, LED, OLED (ust_kategori_ID = 2)

Giyim kategorisine ait alt kategoriler: Erkek, Kadın, Çocuk, Bebek (ust_kategori_ID = 3)
Alt Kategoriler
Asp.Net'te Sınırsız Menü ve Alt Menü Örneği 1

2. aşamada alt kategorilerimizi de ekledik.
Eklemiş olduğumuz alt kategorilere ait birkaç alt kategori ekleyelim.
Laptop kategorisine ait alt kategoriler: ASUS, SONY, MSI, MONSTER, APPLE (ust_kategori_ID = 4)
Erkek giyim kategorisine ait alt kategoriler: Takım Elbise, Eşofman (ust_kategori_ID = 10)
Televizyon kategorisine ait alt kategori: SHARP (ust_kategori_ID = 2)
Alt Kategoriler
Asp.Net'te Sınırsız Menü ve Alt Menü Örneği 1

Görüldüğü gibi, basit hiyerarşide birbirini izleyen alt ve üst kategori mantığına göre veritabanımızı oluşturduk.
Şimdi ise yapmamız gereken, ASP.NET ile bunu çalışmamızda göstermek. Bir ASP.NET sayfası oluşturup sayfamızın PAGE_LOAD olayında yazacağımız metodu Literal içerisine yazdıralım.

Default.aspx
<div class="kategoriler">
<asp:Literal ID="ltrKategoriler" runat="server"></asp:Literal>
</div>
Çalışmamıza ekleyeceğimiz uzaylar
using System.Configuration;
using System.Data.OleDb;
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
    ltrKategoriler.Text = fnKategoriler("0");
}
public OleDbConnection fnBaglan()
{
    OleDbConnection bag = new OleDbConnection(ConfigurationManager.ConnectionStrings["accessDB"].ConnectionString);
    return bag;
}
public String fnKategoriler(String parKategori_ID)
{
    String strDonen_Deger = "";
    OleDbConnection bag = fnBaglan();
    OleDbCommand cmdSQL = new OleDbCommand("SELECT kategori_ID, ust_kategori_ID, kategori FROM tblKategoriler WHERE ust_kategori_ID = " + parKategori_ID + "", bag);
    bag.Open();
    OleDbDataReader drSQL = cmdSQL.ExecuteReader();
    if (drSQL.HasRows == true)
    {
        strDonen_Deger = "<ul>";
        while (drSQL.Read() == true)
        {
            String strKategori_ID = drSQL["kategori_ID"].ToString();
            String strUst_Kategori_ID = drSQL["ust_kategori_ID"].ToString();
            String strKategori = drSQL["kategori"].ToString();

            strDonen_Deger = strDonen_Deger + "<li>";
            strDonen_Deger = strDonen_Deger + "<a href=\"javascript:;\">" + strKategori + " </a>";
            strDonen_Deger = strDonen_Deger + fnKategoriler(strKategori_ID);
            strDonen_Deger = strDonen_Deger + "</li>";
        }
        strDonen_Deger += "</ul>";
    }
    cmdSQL.Dispose();
    drSQL.Dispose();
    bag.Close();
    return strDonen_Deger;
}
Örnek
Asp.Net'te Sınırsız Menü ve Alt Menü Örneği 1

Yorumlar

Henüz hiçbir yorum yazılmamış. İlk yorumu siz yapın.

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

EN

  • Popüler
  • Yeni
  • Son Yorum