MVC中ztree异步加载

本文介绍了一种使用ZTree插件实现异步加载数据的方法,并展示了如何通过后台接口返回相应的节点数据。具体实现了根据父节点ID获取子节点列表的功能,并为不同类型的用户分配了不同的图标。
var setting = {
        async: {
            enable: true,
            url: "*****/LoadChild",
            autoParam: ["id"],
            dataFilter: filter
        }
    };

    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;
    }

  后台

public ActionResult LoadChild(string id)
        {
            List<Sys_User_List> listUser = _bll.GetList(id, false);//得到子节点
            var list = listUser.Select(user =>
            {
                var treeNode = new ZTreeJsonEntityForGrant
                {
                    id = user.Id.ToString(),
                    pId = id,
                    name = user.User_Name,
                    isHidden = false,
                    isDisable = false,
                    open = false,
                    type = "User",
                    drag = true
                };
                if (treeNode.isDisable)
                {
                    treeNode.icon = staticFile + "/Content/Images/Icon16/user_silhouette.png";
                }
                else
                {
                    treeNode.icon = (!string.IsNullOrEmpty(user.Gender) && user.Gender.Equals("女") == true) ? staticFile + "/Content/Images/Icon16/user_female.png" : staticFile + "/Content/Images/Icon16/user.png";
                }
                return treeNode;
            }).ToList();

            return new ConfigurableJsonResult<ZTreeJsonEntityForGrant>(list);
        }

  

public class ZTreeJsonEntityForGrant
    {
        /// <summary>
        /// 节点父ID
        /// </summary>
        public string pId { get; set; }

        /// <summary>
        /// 节点ID
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 节点显示内容
        /// </summary>
        public string name { get; set; }

        /// <summary>
        /// 是否展开
        /// </summary>
        public bool open { get; set; }

        /// <summary>
        /// 是否可以拖拽
        /// </summary>
        public bool drag { get; set; }
        /// <summary>
        /// 是否父节点
        /// </summary>
        public bool isParent { get; set; }
        /// <summary>
        /// 节点图标
        /// </summary>
        public string icon { get; set; }
        /// <summary>
        /// 是否隐藏
        /// </summary>
        public bool isHidden { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        public bool isDisable { get; set; }
        public string type { get; set; }
    }

  

转载于:https://www.cnblogs.com/2333hh/p/6728494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值