It works for me. Here is my test case.
Example View
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.NET.MVC Example</title>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:TreePanel
ID="TreePanel1"
runat="server"
Height="300"
Width="250"
Mode="Remote"
RootVisible="false"
RemoteJson="true"
RemoteAppendUrl="/Test/RemoteAppend">
<Loader>
<ext:TreeLoader DataUrl="/Test/GetNodes" Json="true" />
</Loader>
<Root>
<ext:AsyncTreeNode NodeID="0" Text="Root" />
</Root>
<Editors>
<ext:TreeEditor runat="server">
<Field>
<ext:TextField runat="server" />
</Field>
</ext:TreeEditor>
</Editors>
<Listeners>
<RemoteActionSuccess Handler="alert(TreePanel1.getNodeById('NodeControllerId'));" />
</Listeners>
</ext:TreePanel>
<ext:Button runat="server" Text="Append">
<Listeners>
<Click Handler="TreePanel1.appendChild(TreePanel1.root.childNodes[0], '');" />
</Listeners>
</ext:Button>
</form>
</body>
</html>
Example Controller
using System;
using System.Web.Mvc;
using Ext.Net;
using Ext.Net.MVC;
namespace Mvc.Controllers
{
public class TestController : Controller
{
public ContentResult GetNodes(string node)
{
TreeNodeCollection nodes = new TreeNodeCollection(false);
string prefix = DateTime.Now.Second + "_";
for (int i = 0; i < 10; i++)
{
Ext.Net.TreeNode newNode = new Ext.Net.TreeNode();
newNode.NodeID = i.ToString();
newNode.Text = prefix + i;
newNode.Leaf = true;
nodes.Add(newNode);
}
return Content(nodes.ToJson());
}
public JsonResult RemoteAppend()
{
JsonResult r = new JsonResult();
r.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
r.Data = new
{
d = new
{
actionSuccess = true,
response = new
{
text = "Hello from Controller!",
id = "NodeControllerId"
}
}
};
return r;
}
}
}
Steps:
1. Click on the Append button
2. Press Enter
3. An alert message appears with a node retrieved by the TreePanel's getNodeById method.