Osman KURT

Kendime Not

ASP.Net de Açılır Menu Yapımı

Arkadaşlar bu yazımda sizler için asp.net de yaptığım bir dinamik açılır menü örneği göstereceğim. Eminim ki birçok arkadaşın işine yarayacak bir kod. Zaten bugün içinde aldığım bir mailden dolayı bu kodu paylaşma gereği duydum.
Alt tarafta genel görünümle alakalı bir resim paylaşıyorum. Kodlar gayet açık bir adet default ve bir adet sayfadetay sayfası mevcut. Access veri tabanı kullandım ve içinde birkaç örnek veri mevcut. Yararlanan arkadaşlardan görüş dönüş bekliyorum.

 

AcilirMenu.rar (124,21 kb)

Görüşmek üzere,

Osman KURT

Yazılım Geliştirici ve Grafiker | İneta K12 Speaker

Yorumlar (20) -

  • özkan

    21.5.2012 09:26:35 | Yanıtla

    Çok teşekkürler paylaşım için, elinize emeğinize sağlık..

  • abdullah

    10.10.2012 06:10:31 | Yanıtla

    merhaba sizin yaptığınız gibi elimdeki css menuyu uygulamaya çalıştım ama olmayı yardımcı olabilirmisiniz

    • osmankurt

      10.10.2012 08:05:53 | Yanıtla

      Siz tam olarak problemi yazın isterseniz yardımcı olurum tabiki de.

  • abdullah

    10.10.2012 10:49:00 | Yanıtla

    elimde css menuler var sizin yaptığınız gibi uygulamaya çalışıyorum alt kategoriler görünmüyor bir tane size örnek göndersem siz hazırlayabilirmisiniz.

    • osmankurt

      10.10.2012 14:10:28 | Yanıtla

      Tamam Abdullah sen kodları gönder ben yardımcı olmaya çalışırım ama müsait zamanı kollamam lazım ona göre Laughing

  • abdullah

    10.10.2012 14:47:10 | Yanıtla

    css menu yu mail attım senin yaptığın mantığa uygularsan sevinirim.tşk ederim yardımcı olduğun için

    • osmankurt

      13.10.2012 04:52:11 | Yanıtla

      Merhaba Abdullah,
      mailini aldım gerekli düzenlemeleri yaptım ve gönderdim sana incelersin. Sorun olursa tekrardan yazabilirsin.

  • abdullah

    13.10.2012 07:18:57 | Yanıtla

    yardımın için çok tşk ederim. iyi çalışmalar

  • ADEM

    7.2.2013 17:00:42 | Yanıtla

    Meraba,proje içinde ki ajax.googleapis.com/.../jquery.min.js    adresinden bahs edermisiniz.Ayrıca menüyü yatay yapmak istiyorum bunu nasıl yapabilirin.Birde kategorilere dinamik resim nasıl ekleyebilirim.

  • ercan tekin

    20.12.2015 12:49:44 | Yanıtla

    merhaba , sistem mükemmel çalışıyor tam olarak aradığım bir şeydi diyebilirim .

    Fakat bir sorum olacak :

    Link olarak gönderdiğimiz sayfaları sayfa ismi ile yani başlığı ile gönderebilirmiyiz ?
    URL Routing ile deneyeceğim ama Hyperlink veya Link verilen bir kısım göremedim o yüzden size sorayım dedim .

    Teşekkürler .

    • Osman KURT

      21.12.2015 17:43:20 | Yanıtla

      Merhaba Ercan,
      .cs kodlarını incelersen orada <a> tagını göreceksin bütün değişiklikleri orada yapacaksın.

      • ERCAN TEKİN

        23.12.2015 13:51:23 | Yanıtla

        Merhaba ,

        Linkimi

        /SayfaDetay.aspx?Detaylar/Navigasyon

        şu duruma getirdim dediğiniz yol ile fakat şimdide bir içeriğe takıldı kaldı .hangi menüye tıklasam hep aynı link geliyor .

        Acaba neden olabilir ?

        Kod Bloğum Şu Şekilde :

          protected void Page_Load(object sender, EventArgs e)
                {


                    GetAnaMenu();
                }
                private void GetAnaMenu()
                {
                    OleDbConnection baglan = new OleDbConnection();
                    baglan = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DATA Source=" + Server.MapPath("ercantekin.mdb"));
                    OleDbDataAdapter da = new OleDbDataAdapter("select * from Sayfalar", baglan);
                    if (ConnectionState.Closed == baglan.State)
                        baglan.Open();
                    da.Fill(ds);
                    DataRow[] anaMenuler = ds.Tables[0].Select("Root=0");
                    divmenu.InnerHtml = "<div id=\"primary_nav_wrap\" class=\"primary_nav_wrap\">";
                    divmenu.InnerHtml += "<ul>";
                  
                  
                  
                    //menü nün en başına ana sayfa ekle" + Session["dil"] + " as KategoriAd
                    //end
                    foreach (DataRow dr in anaMenuler)
                    {
                        divmenu.InnerHtml += "<li><a href=\"SayfaDetay.aspx?Detaylar/" + dr["sayfabaslik"].ToString() + " \">" + dr["Sayfa"].ToString() + "</a>";
                        GetAltMenu(Convert.ToInt32(dr["sayfaID"]));
                        divmenu.InnerHtml += "</li>";
                    }
                    //menü nün en sonuna iletişim sayfa ekle
                    //end
                    divmenu.InnerHtml +="<li><a href='/ilkogretim/haberler.aspx' " + "/>" + "HABERLER";
                    divmenu.InnerHtml += "</li>";
                    divmenu.InnerHtml += "<li><a href='/ilkogretim/etkinlikler.aspx' " + "/>" + "ETKİNLİKLER";
                    divmenu.InnerHtml += "</li>";
                    divmenu.InnerHtml += "</ul>";
                    divmenu.InnerHtml += "</div>";
                    baglan.Close();
                }
                private void GetAltMenu(int ustMenuID)
                {
                    DataRow[] altMenuler = ds.Tables[0].Select("Root=" + ustMenuID);
                    if (altMenuler.Length != 0)
                    {
                        divmenu.InnerHtml += "<ul>";
                        foreach (DataRow dr in altMenuler)
                        {
                            divmenu.InnerHtml += "<li><a href=\"SayfaDetay.aspx?Detaylar/" + dr["sayfabaslik"].ToString() + "\">" + dr["Sayfa"].ToString() + "</a>";
                            GetAltMenu(Convert.ToInt32(dr["sayfaID"]));
                            divmenu.InnerHtml += "</li>";
                        }
                        divmenu.InnerHtml += "</ul>";
                    }
                }

        • Osman KURT

          23.12.2015 22:20:12 | Yanıtla

          Merhaba Ercan,
          Aynı sayfaya gitmesi sadece başlık bastığın ve root ayarını yapmadığın için. Ayrıca a tag'lerini kapatmamışsın onlar da hatalı görünüyor.

          Örneğin;
          www.osmankurt.net/Page/Hakkimda/1 olabilir mesela.

          • ERCAN

            24.12.2015 11:05:10 | Yanıtla

            Tam olarak sizin örneğiniz gibi yapmaya çalıştım . Fakat </a> kapatmalarını doğru yaptığımı düşünüyorum . Yani tam olarak nasıl kapatmam gerekir ? ve sadece içerik değil başlıkta taşınmıyormuş aynı zamanda . hep aynı sayfaya gidiyor linklerim .

            • Osman KURT

              27.12.2015 21:01:12 | Yanıtla

              Merhaba Ercan,

              Sayfayı bana mail olarak atabilir misin.

              • Ercan Tekin

                28.12.2015 09:16:16 | Yanıtla

                Merhaba Maili ilettim Bilginize .

                Teşekkürler .

  • ebru

    19.12.2016 21:30:20 | Yanıtla

    beni açılır menüm çalışmıyor

    • Osman KURT

      26.12.2016 20:42:03 | Yanıtla

      Merhaba Ebru,
      Doğru olarak düzenlediğinden emin misin? Çünkü herhangi bir sorun olmaması gerekiyor.

  • Nihat

    12.2.2017 10:54:03 | Yanıtla

    Merhaba Hocam,

    Yeni asp.net öğrenmeye başlıyorum. Vermiş olduğunuz örnek çok güzel. Şöyle birşey yapmak istiyorum. Sitemde

    Anasayfa
    Hakkımızda
    İletişim
    ...

    sayfaları var olduğu sayarsak, menülerü düzenledikten sonra içerik kısmında hangi sayfa varsa oraya gitmesini istiyorum. Bunu nasıl yapabilirim.

    Kolay gelsin...

    • Osman KURT

      13.2.2017 14:38:40 | Yanıtla

      Merhaba Nihat,
      a tagı işini görecektir. Ancak tam olarak anlayamadım. Tıklayınca ilgili sayfaya gitmesini istiyorsan kod kısmında link vereceksin.

Loading