jstree的数据后台生成

jstree的数据后台生成

jstree在前台的HTML格式如:

<div id="demo1" class="demo" style="height:100px;">
    <ul>
        <li id="phtml_1">
            <a href="#">Root node 1</a>
            <ul>
                <li id="phtml_2">
                    <a href="#">Child node 1</a>
                </li>
                <li id="phtml_3">
                    <a href="#">Child node 2</a>
                </li>
            </ul>
        </li>
        <li id="phtml_4">
            <a href="#">Root node 2</a>
        </li>
    </ul>
</div>

 

后台生成这种格式的数据:(无限级,递归)

private string GetTreeString(int pid)
       {
           IEnumerable<Model.TreesModel> TreesModelList= TreesBLL.GetList();
           return "<ul>" + AddTreeNodeString(0, "所有栏目", customClassList) + "</ul>";
       }

       private string AddTreeNodeString(int nodeId, string nodeName,  IEnumerable<Model.TreesModel> list)
       {
           string nodeString = "";

           //找出List 中以nodeId为ParentID的节点
           IEnumerable<Model.TreesModel> childNodes = list.Where(i => i.PId== nodeId).OrderBy(i => i.SortNumber);

           int nodeCount = childNodes.Count();

           if (nodeCount == 0)
           {
               //如果没找到子节点,返回<li></li>
               nodeString = "<li><a href='#'>" + nodeName + "</a></li>";
           }
           else
           {
               //如果找到子节点,增加<ul>
               nodeString = "<li><a href='#'>" + nodeName + "</a><ul>";

               //按子节点循环,每次掉自己增加一个节点的nodeString
               foreach (var item in childNodes)
               {
                   nodeString += AddTreeNodeString(item.Id, item.Name, list);
               }
               //增加</ul>
               nodeString += "</ul></li>";
           }

           return nodeString;
       }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值