Ich benutze JSTree mit einem MVC-Projekt und ich versuche, Kindknoten zum Baum hinzuzufügen, aber ich bekomme einen Nullreferenzenzfehler Objektreferenz nicht auf eine Instanz eines Objekts in der Zeile festgelegt subGroupNode.children.Add(itemNode);
Ich denke, das ist, weil die subGroupNode.Children
leer ist. Wie kann es sein, wenn das Kind in der vorherigen foreach-Schleife erstellt wird.JSTree Hinzufügen von Knoten zu Kindknoten
public JsonResult GetJsTree3Data()
{
var marketGroups = new List<JsTree3Node>();
// Create our root node and ensure it is opened
var root = new JsTree3Node()
{
id = Guid.NewGuid().ToString(),
text = "Market Items",
state = new State(true, false, false)
};
foreach (var group in GenerateGroups(connString))
{
if (group.marketParentGroup == 0)
{
var node = JsTree3Node.NewNode(group.id_str);
node.text = group.name;
node.state = new State(false, false, false);
marketGroups.Add(node);
}
}
foreach (var marketGroup in marketGroups)
{
foreach (var subGroup in GenerateGroups(connString))
{
if (subGroup.marketParentGroup.ToString() == marketGroup.id)
{
var childNodes = new List<JsTree3Node>();
var childNode = new JsTree3Node();
childNode.id = subGroup.id_str;
childNode.text = subGroup.name;
childNode.state = new State(false, false, false);
childNodes.Add(childNode);
var subGroupNode = new JsTree3Node();
subGroupNode.id = subGroup.id_str;
subGroupNode.text = subGroup.name;
subGroupNode.state = new State(false, false, false);
subGroupNode.children = childNodes;
marketGroup.children.Add(subGroupNode);
}
}
}
return Json(root, JsonRequestBehavior.AllowGet);
}
Ich sehe nicht, wo Sie 'children' Eigenschaft in dem' subGroupNode' –
Dank Objekt für replyng Nikolay, ich dachte, dass ich die subChildNode in der Linie wurde das Hinzufügen 'subGroupNode.children.Add (itemNode);' –
Also sollten Sie diese Eigenschaft nicht erstellen und zuerst ein leeres Array zuweisen, bevor Sie die Methode 'Add' verwenden (was ich glaube, eine Array-Methode)? Zumindest würde dies in Javascript funktionieren. –