ASP.NET C# HTML Menu

  • 1325
  • 0

ASP.NET C# HTML Menu

/*

隨著年紀越來越大記性越來越沒有,故  放在網路上讓自己要用的時候隨時可以參考

ASP.NET C# HTML Menu  透過資料庫記錄功能表各項設定產生無限迴圈式的資料表,並搭配Literal 產生文字的TAG處理方式,讓MENU可以透過CSS文字格式設定更有效率的依據美編所編排的網頁顯示效果呈現出

因為,每次版面不一,故  無法成為物件,必須每次都重新設定

*/

 

   SqlConnection conn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
   StringBuilder menuitem = new StringBuilder();
   protected void Page_Load(object sender, EventArgs e)
   {       
       menuitem.Append("<ul id=\"mainMenu\" class=\"easyClearing\"><table width=\"890\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>");
       rootitem(0);
       menuitem.Append("</tr></table></ul>");
       menulist.Text = menuitem.ToString(); 
      
   }
   public void rootitem(int a0)  //stastic menu item  固定功能表選項
   {
       Menu backmenu = new Menu();
       conn.Close();
       conn.Open();
       SqlCommand cmd1 = new SqlCommand("SELECT * FROM proitem WHERE Parent_ID="+a0.ToString(), conn);
       SqlDataAdapter da1 = new SqlDataAdapter(cmd1);
       DataTable dt1 = new DataTable();
       da1.Fill(dt1);
       if (dt1.Rows.Count > 0)
       {
           for (int i1 = 0; i1 < dt1.Rows.Count; i1++)
           {
               menuitem.Append("<td class=\"space\">&nbsp;</td><td><li class=\"" + dt1.Rows[i1][5].ToString() + "\" onmouseout=\"changeClass(this,'" + dt1.Rows[i1][5].ToString() + "')\" onmouseover=\"changeClass(this,'" + dt1.Rows[i1][6].ToString() + "')\" accesskey=\"O\" onclick=\"window.location.href='/" + dt1.Rows[i1][3].ToString() + "'\">" + dt1.Rows[i1][4].ToString() + "<ul class=\"" + dt1.Rows[i1][7].ToString() + "\">");

               subitem1(int.Parse(dt1.Rows[i1][0].ToString()), dt1.Rows[i1][7].ToString());
               menuitem.Append("</ul></td>");
           }
       }
       conn.Close();       
   }

   public void subitem1(int a1,string cssname) //dynamic  menu item  子功能表選項1
   {
       conn.Close();
       conn.Open();
       SqlCommand cmd3 = new SqlCommand(@"SELECT * FROM proitem WHERE Parent_ID =" + a1 , conn);
       SqlDataAdapter da3 = new SqlDataAdapter(cmd3);
       DataTable dt3 = new DataTable();
       da3.Fill(dt3);       
       for (int i3 = 0; i3 < dt3.Rows.Count; i3++)
       {menuitem.Append("<li><a href=\""+dt3.Rows[i3][4].ToString()+"\" target=\"_parent\">"+dt3.Rows[i3][4].ToString()+"</a></li>");}
      
   }
   public void subitem2(int a2,string cssname)//dynamic  menu item  子功能表選項2
   {
       conn.Close();
       conn.Open();
       SqlCommand cmd4 = new SqlCommand(@"SELECT * FROM proitem WHERE Parent_ID =" + a2, conn);
       SqlDataAdapter da4 = new SqlDataAdapter(cmd4);
       DataTable dt4 = new DataTable();
       da4.Fill(dt4);
       for (int i4 = 0; i4 < dt4.Rows.Count; i4++)
       {menuitem.Append("<li><a href=\"" + dt4.Rows[i4][4].ToString() + "\" target=\"_parent\">" + dt4.Rows[i4][4].ToString() + "</a></li>");}
   }