博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jstree的数据后台生成
阅读量:5910 次
发布时间:2019-06-19

本文共 1237 字,大约阅读时间需要 4 分钟。

  hot3.png

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;

       }

转载于:https://my.oschina.net/wzzz/blog/106281

你可能感兴趣的文章
C# PPT 为形状设置三维效果
查看>>
Android DecorView浅析
查看>>
EF(Entity Framework)系统学习系列
查看>>
C 双向链表
查看>>
hdu 5452(树链刨分)
查看>>
Java之IO流总结
查看>>
LVM Linear vs Striped Logical Volumes
查看>>
Mysql主从备份和SQL语句的备份
查看>>
DEDECMS之三 首页、列表页怎么调用文章内容
查看>>
异步与并行~大话目录
查看>>
iOS开发多线程篇 09 —NSOperation简单介绍
查看>>
WINDOWS下调用GetTokenInformation的奇怪之处--两次调用
查看>>
HDU 5813 Elegant Construction 构造
查看>>
Tomcat就是个容器,一种软件
查看>>
php结合redis实现高并发下的抢购、秒杀功能
查看>>
统计服务连接状况
查看>>
Quartz 框架的应用
查看>>
Tomcat编译jsp生成Servlet文件的存放位置
查看>>
Android事件总线(三)otto用法全解析
查看>>
Android 利用线程运行栈StackTraceElement设计Android日志模块
查看>>