递归算法创建树

来源:互联网 发布:阿里云备案订单查询 编辑:程序博客网 时间:2024/05/05 02:58

 

代码如下:

 

 

namespace Smartkid.ESchool.Web.UserControl
{
    
using System;
    
using System.Data;
    
using System.Drawing;
    
using System.Web;
    
using System.Web.UI.WebControls;
    
using System.Web.UI.HtmlControls;
    
using System.Collections;

    
/// <summary>
    
///        Summary description for BuildMenuTree.
    
/// </summary>

    public class BuildMenuTree : System.Web.UI.UserControl
    
{
        
int index = 0;

        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// Put user code to initialize the page here
            BuildTree(1);
        }


        
Web Form Designer generated code

        
public void BuildTree(int pPID)
        
{
            
if(BusinessFacade.Service.II_Menu_Service.Instance.GetSubMenu(pPID) != null && BusinessFacade.Service.II_Menu_Service.Instance.GetSubMenu(pPID).Count>0)
            
{
                IList iList 
= BusinessFacade.Service.II_Menu_Service.Instance.GetII_MenuListByPID(pPID);
                
int id = 0;
                
                index
++;
                
foreach(BusinessFacade.II_Menu iI_Menu in iList)
                
{
                    
if(iI_Menu.ID != pPID)
                    
{
                        id
++;
                        Response.Write(index.ToString()
+iI_Menu.Name+""id=""+id.ToString()+"<br>");
                        BuildTree(iI_Menu.ID);
                    }

                }

                index
--;
            }

        }

    }

}