protected void Page_Load(object sender, EventArgs e) ...{ DataTable dt = SQLHelper.Fill("select * from menus"); string parentMenuFilter = "ParentMenu=0"; BindMenuItems(dt, parentMenuFilter); } private void BindMenuItems(DataTable dt,string strParentNodeFilter) ...{ DataRow[] drs = dt.Select(strParentNodeFilter); foreach (DataRow dr in drs) ...{ MenuItem menuNode = new MenuItem(); menuNode.Text = dr["MenuName"].ToString(); menuNode.Value = dr["MenuId"].ToString(); menuNode.NavigateUrl = dr["MenuNavURL"].ToString(); menuNode.Enabled = true; menuNode.Selectable = true; this.MenuTest.Items.Add(menuNode); AddChildMenu(menuNode, Convert.ToInt32(dr["MenuId"].ToString()),dt); } } private void AddChildMenu(MenuItem node,int parentID,DataTable dt) ...{ DataRow[] drs = dt.Select("ParentMenu= " + parentID); foreach (DataRow dr in drs) ...{ MenuItem menuNode = new MenuItem(); menuNode.Text = dr["MenuName"].ToString(); menuNode.Value = dr["MenuId"].ToString(); menuNode.NavigateUrl = dr["MenuNavURL"].ToString(); menuNode.Enabled = true; menuNode.Selectable = true; node.ChildItems.Add(menuNode); AddChildMenu(menuNode, Convert.ToInt32(dr["MenuId"].ToString()),dt); } }