asp.net實現(xiàn)遞歸方法取出菜單并顯示在DropDownList中(分欄形式)

字號:


    本文實例講述了asp.net實現(xiàn)遞歸方法取出菜單并顯示在DropDownList中的方法。分享給大家供大家參考,具體如下:
    樹形欄目展示以DropDownList的形式顯示出來。
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          DataTable table = bllSite.GetChannelNames(CurrentUser.ParkID);
          BindChannelType(table, 0, 0);
        }
    }
    //遞歸方法取
    private void BindChannelType(DataTable dt, int categoryid, int layer)
    {
        DataView dv = new DataView(dt);
        dv.RowFilter = " Pid= " + categoryid.ToString(); //過濾  
        if (categoryid != 0)
        {
          layer++; //默認為第一層
        }
        foreach (DataRowView drv in dv)
        {
          string span = "";
          if (categoryid != 0)
          {
            for (int i = 0; i < layer; i++)//父級菜單不縮進
            {
              span += " ";
            }
            span += "└";
          }
          ListItem li = new ListItem();
          li.Text = span + drv["ChannelName"].ToString();
          li.Value = drv["Id"].ToString();
          this.ddlChannel.Items.Add(li);
          BindChannelType(dt, Convert.ToInt32(drv["Id"]), layer);
        }
    }
    希望本文所述對大家asp.net程序設計有所幫助。