 
 
Ç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.

Şekil 1

Ş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