C#遞迴載入樹

來源:互聯網
上載者:User

標籤:write   dataset   code   string   ast   nod   tar   自己   prot   

遞迴,就是有去有回,自己調用自己。

 1 public partial class SiteMaster : MasterPage 2     { 3         public DataSet list = null; 4  5         public List<TreeData> treeDatas = new List<TreeData>(); 6         string str = ""; 7         protected void Page_Load(object sender, EventArgs e) 8         { 9             if (LoginMITBz.currentUser == null)10             {11                 Response.Redirect("/Login/Login.aspx");12             }13             string sql = "SELECT a.Title,a.TreeId,a.Url,a.ParentID,a.ParentPath FROM dbo.M_Tree a INNER JOIN dbo.M_Permissions b ON a.TreeId = b.TreeId WHERE b.UserId=" + LoginMITBz.currentUser.UserId;14             list = Hy.DBSqlU.DBUtility_USA.DbHelperSQLDB_USA_MIT_MitInfo.Query(sql);15             #region Test16 17             //foreach (DataRow mDr in list.Tables[0].Rows)18             // {19             // DataColumn mDc = list.Tables[0].Columns[0];20             //Console.WriteLine(mDr["Title"].ToString());21             //Console.WriteLine(mDr["Url"].ToString());22 23             //    //foreach (DataColumn mDc in list.Tables[0].Columns)24             //    //{25             //    //    Console.WriteLine(mDr["Title"].ToString());26             //    //    Console.WriteLine(mDr["Url"].ToString());27             //    //}28             //}29             #endregion30 31             foreach (DataRow mDr in list.Tables[0].Rows)32             {33                 DataColumn mDc = list.Tables[0].Columns[0];34                 TreeData tree = new TreeData();35                 tree.TreeId = (long)mDr["TreeId"];36                 tree.Title = mDr["Title"].ToString();37                 tree.Url = mDr["Url"].ToString();38                 tree.ParentId = (int)mDr["ParentID"];39                 treeDatas.Add(tree);40             }41 42            43             var data = treeDatas.Where(a => a.ParentId == 0);44             foreach (var item in data)45             {46                 str += item.Title + ":" + item.Url + "\r\n";47                 GetNode((int)item.TreeId);48             }49         }50         51         public  void GetNode(int parentId)52         {53             var data = treeDatas.Where(a => a.ParentId == parentId);54             foreach (var item in data)55             {56                 str += item.Title + ":" + item.Url + "\r\n";57                 GetNode((int)item.TreeId);58             }59         }60     }61     62 63 64     public class TreeData65     {66         public long? TreeId { get; set; }67         public int? ParentId { get; set; }68         public string Title { get; set; }69         public string Url { get; set; }70     }

C#遞迴載入樹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.