生成树状菜单(ul-li) 及其 树状下拉列表框

 #region 生成树状
        ///
        /// 生成树状 ul-li
        ///

        /// parentid
        /// 返回树状的html节点
        public string CreateChildTree(string parentid)
        {
            string where = String.Format(" and parentid={0} and status=1 order by displayorder asc ", parentid);
            List list = DAL.dnt_forums.GetSingleton().Query(where);
            StringBuilder childStr = new StringBuilder();
            if (list != null && list.Count > 0)
            {
                childStr.Append("
    ");
                    foreach (var item in list)
                    {
                        if (item.parentid.ToString() == parentid)
                        {
                            if (IsParent(item.fid.ToString()))
                            {
                                childStr.AppendFormat("
  • {1}", item.fid.ToString(), item.name.ToString());
                            }
                            else
                            {
                                childStr.AppendFormat("
  • {1}", item.fid.ToString(), item.name.ToString());
                            }


                            if (IsParent(item.fid.ToString()))
                            {
                                childStr.Append(CreateChildTree(item.fid.ToString()));//执行递归
                            }
                            childStr.Append("
  • ");
                        }


                    }
                    childStr.Append("
");
            }
            return childStr.ToString();
        }
        #endregion




        ///
        /// 根据ID判断是不是父ID
        ///

        ///
        ///
        private bool IsParent(String id)
        {
            bool b = false;
            string where = " and parentid=" + id;
            var list = DAL.dnt_forums.GetSingleton().Query(where);
            if (list != null && list.Count > 0)
            {
                b = true;
            }
            return b;
        }


        ///
        /// 生成下拉列表的数据项
        ///

        ///
        ///
        public String TreeSelectOption(string parentid)
        {
            StringBuilder childStr = new StringBuilder();
            string where = String.Format(" and parentid={0} and status=1 order by displayorder asc ", parentid);
            List list = DAL.dnt_forums.GetSingleton().Query(where);
            if (list != null && list.Count > 0)
            {
               
                foreach (var item in list)
                {
                    if (item.parentid.ToString() == parentid)
                    {
                        if (IsParent(item.fid.ToString()))
                        {
                            childStr.Append("

你可能感兴趣的:(.net)