首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请教怎么通过json转化数据生成Jquery easyui的树

2013-01-23 
请问如何通过json转化数据生成Jquery easyui的树?刚开始接触ASP.NET的MVC3,想实现一个从数据库中取数据生

请问如何通过json转化数据生成Jquery easyui的树?
刚开始接触ASP.NET的MVC3,想实现一个从数据库中取数据生成动态树的功能。
表结构是 DeptID DeptName DeptPid 正好符合jquery easyui 1.44树的格式。
我想着是类库中写一个查询,然后再控制器中实例化,再在view中调用,也不知道思路对不对,刚学.NET,见笑了
想问下如何通过json转化数据生成Jquery easyui的树?后台用LINQ写,能送上各个部分的完整的代码就好了,谢谢
[解决办法]

public string ObjectToJson<T>(string jsonName, IList<T> t)

        {

            StringBuilder Json = new StringBuilder();

            Json.Append("{"" + jsonName + "":[");

            if (t.Count > 0)

            {

                for (int i = 0; i < t.Count; i++)

                {

                    T obj = Activator.CreateInstance<T>();

                    Type type = obj.GetType();

                    PropertyInfo[] pis = type.GetProperties();

                    Json.Append("{");

                    for (int j = 0; j < pis.Length; j++)

                    {

                        Json.Append(""" + pis[j].Name.ToString() + "":"" + pis[j].GetValue(t[i], null) + """);

                        if (j < pis.Length - 1)

                        {

                            Json.Append(",");

                        }

                        else

                        {

                            Json.Append("}");

                        }



                        if (i < t.Count - 1)

                        {

                            Json.Append(",");

                        }

                    }

                }

            }

            Json.Append("]}");

            return Json.ToString();

        }


[解决办法]
在Controller里

/// <summary>
        /// 服务树
        /// </summary>
        /// <returns></returns>
        public ActionResult ServiceTree()
        {
            List<Service> Services = bll.GetModelList("CompanyID=" + CONST.TopCompanyID);
            ViewData["Services"] = Services;
            return View();
        }


界面:

<div class="dtree">
<script type="text/javascript">
    d = new dTree('d');

    d.add("0", "-1", '全部服务');
    <%
        foreach (var item in (IEnumerable<mry.Model.Service>)ViewData["Services"])
        {
        if(item.Pid==null)item.Pid=0;
        %>
            d.add('<%:item.ID %>', '<%:item.Pid %>', '<%:item.Name %>', "javascript:dTreeOnClick('<%:item.ID %>','<%:item.IsDir%>')");
        <% }%>
    document.write(d);
    d.openAll();
    d.config.useCookies = false;
</script>
</div>

热点排行