1

ASP.NETMVC3コントローラーからデータをロードするDynatreeがあります。最初の呼び出しでは、ツリーはデータをロードする必要があり、その後、ツリーはオンデマンドベースでロードする必要があります(遅延ロード)。私が直面している問題は、初めてデータがコントローラーからツリーに戻されたときに、データが正しく表示されないことです。基本的に、ノード名はNULLになります。しかし、コントローラーがデータを正しく返していることを確認しました。クライアント側で受信したデータをフォーマットするにはどうすればよいですか。

私は次のコードベースを使用しています:

treeElement.dynatree({
            title: "Lazy loading sample",
            fx: { height: "toggle", duration: 200 },
            autoFocus: false, 
            initAjax: {
                url: "/DataManager/ViewNodes",
                data: { mode: 'all' }
                //Here after I receive the data, how do I show the nodes ?? 
            },

            onActivate: function (node) {
                alert(node.getKeyPath());
            },

            onLazyRead: function (node) {

                node.appendAjax({
                    url: ""
                });
            }
        });

コントローラから返されるjsonは、次の構造を持っています。

 [

  {"ChildNodes":     [],"Parent":null,"Type":9,"HasRaps":false,"HasReports":false,"TotalChildCount":0,"NodePaths":null,"ID":2,"Name":"Omega",},

 {"ChildNodes":[{"ChildNodes":          [],"Parent":null,"Type":0,"HasRaps":false,"HasReports":false,"TotalChildCount":0,"NodePaths":null,"ID":0,"Name":"LoadingData..."}],"Parent":null,"Type":8,"HasRaps":false,"HasReports":false,"TotalChildCount":1,"NodePaths":null,"ID":14,"Name":"PARIS"}
 ]

誰でも助けることができます。

ありがとう、アニルバン

4

2 に答える 2

1

dynatree コールバックで、特定の形式の JSON データinitAjaxを期待します。appendAjax

[
    {"title": "Item 1"},
    {"title": "Folder 2", "isFolder": true, "key": "folder2",
        "children": [
            {"title": "Sub-item 2.1"},
            {"title": "Sub-item 2.2"}
            ]
        },
    {"title": "Folder 3", "isFolder": true, "key": "folder3",
        "children": [
            {"title": "Sub-item 3.1"},
            {"title": "Sub-item 3.2"}
            ]
        },
    {"title": "Lazy Folder 4", "isFolder": true, "isLazy": true, "key": "folder4"},
    {"title": "Item 5"}
]

これを配信できない場合は、標準の jQuery.ajax 呼び出しを使用し、結果を再フォーマットして node.addChild() を呼び出すことができます。http://wwwWendt.de/tech/dynatree/doc/dynatree-doc.html#h5.5.1も参照してください。

于 2012-02-09T18:01:49.033 に答える
0

これが最初に呼び出したときにのみ発生する場合は、何かをしていない可能性があります。json の問題ではありません。

于 2012-02-09T08:04:18.850 に答える