ztree 使用asp.net mvc非同步動態獲取資料
阿新 • • 發佈:2019-01-01
<script src="~/Scripts/ztree/js/jquery-1.4.4.min.js"></script> <script src="~/Scripts/ztree/js/jquery.ztree.core-3.5.js"></script> <title>Index</title> <script type="text/javascript"> ////非同步載入節點 var setting = { async: { enable: true, url: "/Home/ZtreeData",//資料請求地址 autoParam: ["id", "name", "pId","level=lv"],//像後臺請求資料時的引數 otherParam: { "otherParam": "zTreeAsyncTest" }, dataFilter: filter }, callback: { onclick: nodeClick } }; function nodeClick(event, treeId, treeNode, clickFlag) { //節點點選事件 } function filter(treeId, parentNode, childNodes) { if (!childNodes) return null; for (var i = 0, l = childNodes.length; i < l; i++) { childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.'); } return childNodes; } $(document).ready(function () { $.fn.zTree.init($("#treeDemo"), setting); }); </script>
<div>
<ul id="treeDemo" class="ztree"></ul>
</div>
後臺採用asp.net mvc動態資料:
public ActionResult ZtreeData(string lv,string id="0",string pId = "0") { Sql2012TestEntities db = new Sql2012TestEntities(); return Json(db.TreeTable.Select(t => new { id = t.ID, pId = t.PID, name = t.Name, t = t.Name, click = true,//是否可以點選 isParent = db.TreeTable.Any(a=>a.PID==t.ID)//判斷是否為父節點 }).Where(t => t.pId == id), JsonRequestBehavior.AllowGet); }