protected void LoadAreas()
        {
            DataEntities ent = new DataEntities();
            var areas = from l in ent.Area select l;
            var provinces = from l in ent.Province select l;
            var citis = from l in ent.City select l;

            var ars=new List<A>();
            foreach (var a in areas)
            {
                var subps = from l in provinces where l.AreaID == a.ID select l;
                var aa = new A();
                aa.children=new List<A>();

                foreach (var subp in subps)
                {
                    var ap = new A();
                    var subcs = from l in citis where l.ProvinceID == subp.ID select l;
                    ap.children = new List<A>();
                    foreach (var subc in subcs)
                    {
                        var ac = new A();
                        ac.children = null;
                        ac.id = subc.id;
                        ac.Name = subc.city1;
                        ac.ShowInIndex = subc.ShowInIndex.ToBoolean();
                        ac.ShowInNav = subc.ShowInNav.ToBoolean();
                        ac.type = "city";
                        ap.children.Add(ac);
                    }
                    ap.id = subp.ID;
                    ap.Name = subp.province1;
                    ap.ShowInIndex = subp.ShowInIndex.ToBoolean();
                    ap.ShowInNav = false;
                    ap.type = "province";
                    aa.children.Add(ap);
                }
                aa.id = a.ID;
                aa.Name = a.Name;
                aa.ShowInIndex = a.ShowInIndex.ToBoolean();
                aa.ShowInNav = false;
                aa.type = "area";
                ars.Add(aa);
            }

            JsonSerializer s = new JsonSerializer();
            StringWriter r = new StringWriter();
            s.Serialize(r, ars);
            Response.Clear();
            Response.Write(r.ToS());
            Response.End();
            ent.Dispose();
        }