首页 新闻 搜索 专区 学院

asp.net mvc3 利用json+jquery 怎么实现菜单树

0
悬赏园豆:5 [已解决问题] 解决于 2013-11-12 17:32

 我在数据库中创建菜单表,然后再程序里设计,该怎么实现呢?

最好是在控制器里返回json的,然后再视图里获取。

Drely(夢想永恆)的主页 Drely(夢想永恆) | 初学一级 | 园豆:156
提问于:2013-11-12 11:34
< >
分享
最佳答案
0

通过递归用父元素找到子元素,加载到页面上就好了,不知道ztree适合你不?

收获园豆:5
秋壶冰月 | 大侠五级 |园豆:5669 | 2013-11-12 12:13

请问有具体的示例吗?有点不怎么明白..

Drely(夢想永恆) | 园豆:156 (初学一级) | 2013-11-12 13:05

@Drely(夢想永恆): 树形菜单,后台数据表应该有id、parentId,name等

1.递归方式,通过根元素(一级菜单),找到自己下面的节点元素(二级菜单),如果还用则继续查询(通过就是自己调用自己,一定要有终止条件,不然会堆栈溢出,多次与数据库交互)

2、一次性把数据查询出来,绑定到ztree(要json格式的数据)上,下面是简单的使用,具体看官网实例http://www.ztree.me/v3/demo.php#_105

var zTree;  //全局变量
var treeNodes;  //全局变量
//zTree基本设置  
var setting = {
    showLine: true, //是否显示节点间的连线  
    checkable: true,
    checkStyle: "radio",
    checkRadioType: "all",
    //async : true, //需要采用异步方式获取子节点数据,默认false  
    //asyncUrl : url, //当 async = true 时,设置异步获取节点的 URL 地址 ,允许接收 function 的引用  
    //asyncParam : ["CategoryId"], //提交的与节点数据相关的必需参数  
    isSimpleData: true, //数据是否采用简单 Array 格式,默认false  
    treeNodeKey: "CategoryId", //在isSimpleData格式下,当前节点id属性  
    treeNodeParentKey: "ParentId", //在isSimpleData格式下,当前节点的父节点id属性  
    nameCol: "Name",            //在isSimpleData格式下,当前节点名称  
    expandSpeed: "fast", //设置 zTree节点展开、折叠时的动画速度或取消动画(三种默认定义:"slow", "normal", "fast")或 表示动画时长的毫秒数值(如:1000)          
    checkType: { "Y": "ps", "N": "ps" },
    callback: { //回调函数                              
        dblclick: zTreeOnDblclick
    }
};
秋壶冰月 | 园豆:5669 (大侠五级) | 2013-11-12 15:36

@冰壶秋月:   恩 谢谢你哈 

Drely(夢想永恆) | 园豆:156 (初学一级) | 2013-11-12 17:32

@Drely(夢想永恆): 请问你最后是怎么实现的?树形导航菜单,能给个简单的实例吗?

覃兽兽 | 园豆:200 (初学一级) | 2017-12-01 12:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册