Yazı Font Küçült Yazı Font Büyült

Çalışma Anında Menu Oluşturma

Bu makalede çalışma anında Menu oluşturmayı göreceğiz. Default.aspx sayfasına 1 adet Button ve Panel ekleyin. Access veritabanındaki tablodan verileri çekip, MenuItemlerde ve Altındaki
ChieldItemlerde gösterip, bunlara link vereceğiz. Aşağıdaki Şekilleri inceleyin.

Resim1

Şekil 1

Resim2

Şekil 2

Button a yazacağınız kod;

protected void Button1_Click(object sender, EventArgs e)
    {
        Menu menu;

        System.Data.OleDb.OleDbConnection baglan = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Server.MapPath("~//veri.mdb") + ";");

        System.Data.OleDb.OleDbDataAdapter adp = new System.Data.OleDb.OleDbDataAdapter();
        adp.SelectCommand = new System.Data.OleDb.OleDbCommand("Select * From tvler", baglan);
        System.Data.OleDb.OleDbCommandBuilder CB = new System.Data.OleDb.OleDbCommandBuilder(adp);

        baglan.Open();
        System.Data.DataSet ds = new System.Data.DataSet();
        adp.Fill(ds);

        baglan.Close();

        menu = new Menu();

        //Aşağıdaki döngü ile çalışma anında
        //menü itemleri oluşturulup, veritabandaki
        //alandaki satırlardan veriler alınıyor.
        //alandaki bilgi kadar Menü item oluşturuluyor.
        foreach (DataRow dbRow in ds.Tables[0].Rows)
        {
            MenuItem menuitems = new MenuItem();
            MenuItem menuitems2 = new MenuItem();

            //menüdeki itemleri çalışma anında oluşturuyor.
            //tv alanından veri çekiliyor
            menuitems.Text = dbRow["tv"].ToString();
            menuitems.Value = dbRow["tv"].ToString();
            menuitems2.Text = dbRow["aciklama"].ToString();
            menuitems2.Value = dbRow["aciklama"].ToString();

            //menu deki itemlere link veriliyor.
            //url ye tıklanınca linke gidecek
            menuitems.NavigateUrl = dbRow["adres"].ToString();

            // Alt menüye link veriliyor
            menuitems2.NavigateUrl = dbRow["adres"].ToString();
            //Alt menü oluşturuluyor.
            menuitems.ChildItems.Add(menuitems2);


            menu.Items.Add(menuitems);

            Panel1.Controls.Add(menu);

        }

        menu.BackColor = System.Drawing.Color.SkyBlue;
        menu.Width = 200;
    }

//Bir sonraki makalede buluşmak üzere. Bahadır