Combotree--別樣的構建層級json字符串


1、先看效果

    

2、需要使用層級json格式,如:

    

    3、先不要着急怎么去實現它,先來想想怎么用對象來描述它

            

      4、代碼

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                JavaScriptSerializer jss = new JavaScriptSerializer();
                List<JsonClass> list = LinqJsonTree(0);
                list.Insert(0, new JsonClass() { id = -1, children = null, CheckedInfo = true, pid = -1, text = "--請選擇--" });
                string jsonTree = jss.Serialize(list);

                string action = Request["action"] ?? "";
                if (action == "load")
                {
                    Response.Write(jsonTree.Replace("CheckedInfo", "checked"));
                    Response.End();

                }

            }

        }

        //遞歸
        public List<JsonClass> LinqJsonTree(int parentId)
        {

            List<RightInfo> classList = new RightInfoMan().GetMenus(parentId);
            List<JsonClass> jsonData = new List<JsonClass>();
            classList.ForEach(item =>
            {
                jsonData.Add(new JsonClass
                {
                    id = item.Id,
                    CheckedInfo = (item.Id == 11),
                    children = LinqJsonTree(item.Id),
                    pid = item.ParentId,
                    text = item.MenuName
                });
            });


            return jsonData;
        }

     總結:有時候用別樣的方法去實現一個問題 會有趣很多


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM