İç İçe Repeater Çalıştırma

Kendi Projemde menüleri iç içe repetar ile olusturdum.

Html Bölümü

  1. <asp:Repeater ID="AnaMenuRpt" runat="server" OnItemDataBound="AnaMenuRpt_ItemDataBound">
  2.                                 <ItemTemplate>
  3.                                     <li class="dropdown">
  4.                                         <a href="#" class="dropdown-toggle" data-toggle="dropdown"><%#DataBinder.Eval(Container.DataItem, "AnaMenu")%></a>
  5.                                         <ul class="dropdown-menu">
  6.                                             <asp:Repeater ID="AltMenuRpt" runat="server">
  7.                                                 <ItemTemplate>
  8.                                                     <li><a href="Makaleler.aspx?KategoriIdNo=<%#DataBinder.Eval(Container.DataItem, "KatId")%>&KategoriAdi=<%#DataBinder.Eval(Container.DataItem, "AltMenu")%>"><%#DataBinder.Eval(Container.DataItem, "AltMenu")%></a></li>
  9.                                                 </ItemTemplate>
  10.                                             </asp:Repeater>
  11.                                         </ul>
  12.                                     </li>
  13.                                 </ItemTemplate>
  14.   </asp:Repeater>

   Code Bölümü

  1.    
  2.  public partial class anasayfa : System.Web.UI.MasterPage
  3.     {
  4.         MySqlConnection VeriTabaniBaglanti = new MySqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["veritabani"].ConnectionString);
  5.         protected void Page_Load(object sender, EventArgs e)
  6.         {
  7.             if(!IsPostBack )
  8.             {
  9.                 AnaMenu_Getir();
  10.                 Katagori_Getir();
  11.             }
  12.         }
  13.         private static DataTable Data(string query, MySqlConnection veriTabaniBaglanti)
  14.         {
  15.             string strConnString = ConfigurationManager.ConnectionStrings["veritabani"].ConnectionString;
  16.             using (MySqlConnection con = new MySqlConnection(strConnString))
  17.             {
  18.                 using (MySqlCommand cmd = new MySqlCommand())
  19.                 {
  20.                     cmd.CommandText = query;
  21.                     using (MySqlDataAdapter sda = new MySqlDataAdapter())
  22.                     {
  23.                         cmd.Connection = con;
  24.                         sda.SelectCommand = cmd;
  25.                         using (DataSet ds = new DataSet())
  26.                         {
  27.                             DataTable dt = new DataTable();
  28.                             sda.Fill(dt);
  29.                             return dt;
  30.                         }
  31.                     }
  32.                 }
  33.             }
  34.         }
  35.         void Katagori_Getir()
  36.         {
  37.             KatagoriRpt.DataSource = Data("select * from anamenu", VeriTabaniBaglanti);
  38.             KatagoriRpt.DataBind();
  39.             VeriTabaniBaglanti.Close();
  40.         }
  41.         void AnaMenu_Getir()
  42.         {
  43.             AnaMenuRpt.DataSource = Data("select * from anamenu", VeriTabaniBaglanti);
  44.             AnaMenuRpt.DataBind();
  45.             VeriTabaniBaglanti.Close();
  46.         }

  47.         protected void AnaMenuRpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
  48.         {
  49.             Repeater AltMenu = (Repeater)e.Item.FindControl("AltMenuRpt");
  50.             string MenuId = DataBinder.Eval(e.Item.DataItem, "AnaMenuId").ToString();
  51.             AltMenu.DataSource = Data("select * from altmenu where AnaMenuId='" + MenuId + "' ", VeriTabaniBaglanti);
  52.             AltMenu.DataBind();
  53.             VeriTabaniBaglanti.Close();
  54.         }
  55.     }         

İşinize yaraması dileğimle beğenmeyi ve yorum yapmayı unutmayın.


İlgili Makaleler

Üye Yorumları

Bu Makaleye Henuz Yorum Yapılmamıştır

Yorum Yaz