Easyui Tree + Asp.net加载数据

前端写法:

第一种:缺点,当节点状态设置为closed时,会出现数据重复加载的情况,如下图:

这里写图片描述

$(function () { 
            $('#tree').tree({
                url: "../Common/TreeMuLu.ashx",
                method: "get",
                lines: true,
                },
            })
        });

第二种:

 <script type="text/javascript" src="../EasyUI/jquery.easyui.min.js"></script>
<script type="text/javascript"> 
        $.ajax({ 
            url: "../Common/TreeMuLu.ashx", 
            dataType: "JSON", 
            success: function (data) { 
                alert(data); 
            $('#tree').tree({ 
                data: data 
            }); 
        } 
        }); 
    </script>

后台实现

Linq实现

  public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            List<Department> department_list = ServiceFactory.CreateInstance<IDepartmentService>().getDepartmentList();
            var json = new
            {
                //total = department_list.Count,
               departments = (
               from department in department_list
               select new
               {
                   id = department.departmentId,
                   text= department.departmentName,
                   state="closed",
                   leaf="false",
                   children="",
               }
               ).ToArray()

            };
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string returnVal = serializer.Serialize(json.departments);
            context.Response.Write(returnVal);
        }

第二种:字符串形式

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            StringBuilder returnVal = Getdapartment_projectname();
            context.Response.Write(returnVal);
        }

        public StringBuilder Getdapartment_projectname()
        {
            StringBuilder result = new StringBuilder();
            StringBuilder sb = new StringBuilder(); 
            List<Department> department_list = ServiceFactory.CreateInstance<IDepartmentService>().getDepartmentList();
            if (department_list.Count > 0)
            {
                sb.Append("["); 
                foreach (Department de in department_list)
                {
                    sb.Append("{\"id\":\"" + de.departmentId + "\",\"text\":\"" + de.departmentName);
                    List<Project> project_list = ServiceFactory.CreateInstance<IProjectService>().GetListByDpmId(de.departmentId);
                    if (project_list.Count > 0)
                    {
                        sb.Append("\",\"state\":\"closed\",\"children\":[");
                        foreach (Project pr in project_list)
                        {
                            sb.Append("{\"id\":\"" + pr.projectId + "\",\"text\":\"" + pr.projectName + "\",\"state\":\"open\"},");
                        }
                        sb.Remove(sb.Length - 1, 1);
                        sb.Append("]");
                    }
                    else
                    {
                        sb.Append("\",\"state\":\"open\"");
                    }
                    result.Append(sb);
                    sb.Clear();
                    sb.Append("},");
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append("]");
                result.Append(sb);
                sb.Clear();
            }
            return result;
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值