0

ツリーパネルに問題があります。問題は、子供たちが表示されないことです。私はextnet剃刀エンジンを使用しています。

ファイル cshtml 内のこのコード:

TreePanel treePanelParent = X.TreePanel()
   .ID("treePanelParent")
   .Height(200)
   .RootVisible(false)
   .Root(rt => rt
   .Add(Html.X()
   .Node()
   .NodeID("0")
   .Text("Click Parent Location")))
   .Store(st => st
   .Add(X.TreeStore()
   .Proxy(px => px
   .Add(Html.X()
   .AjaxProxy().Json(true)
   .Url(Url.Action("GetParentDatas", "Location"))
   .Reader(reader => reader.Add(Html.X().JsonReader()
   .Root("data")
   .IDProperty("Id")))))
));
treePanelParent.GetRootNode().Expand(true);

私には 2 人の子供に対して親が 1 人います。

これはコントローラーです:

        public ActionResult GetParentDatas() {
            NodeCollection nodes = new NodeCollection();

            Node Node = new Node();
            Node.Text = "satu";
            Node.Icon = Icon.Map;
            Node.Leaf = false;
            Node.NodeID = "1";

            Node Node3 = new Node();
            Node3.Text = "tiga";
            Node3.Icon = Icon.Map;
            Node3.Leaf = false;
            Node3.NodeID = "3";

            Node Node2 = new Node();
            Node2.Text = "dua";
            Node2.Icon = Icon.Map;
            Node2.Leaf = true;
            Node2.NodeID = "2";

            Node.Children.Add(Node2);
            Node.Children.Add(Node3);
            return Json(new { data = nodes.ToJson() }, JsonRequestBehavior.AllowGet);
    }

コントローラーに指示する場合、この形式のjsonコード:

{"data":"[
   {id:\"1\",iconCls:X.net.RM.getIcon(\"Map\"),text:\"satu\",children:[
      {id:\"2\",leaf:true,iconCls:X.net.RM.getIcon(\"Map\"),text:\"dua\"},
      {id:\"3\",iconCls:X.net.RM.getIcon(\"Map\"),text:\"tiga\"}
   ]}
]"}
4

1 に答える 1

0

最後に私は答えを持っています..

コントローラーのコードリターンを変更するだけです。

前 :

return Json(new { data = nodes.ToJson() }, JsonRequestBehavior.AllowGet);

なる :

return Content(nodes.ToJson());

cshtmlで削除します

.Root("data")
于 2012-11-19T09:48:55.610 に答える