如果不实现参数传递,那很简单
如果有参数传递,先要在js中传递参数给后台
1
function nodeLoad(node)
2
{
3
Coolite.AjaxMethods.NodeLoad(node.id, {
4
success: function(result) {
5
var data = eval("(" + result + ")");
6
node.loadNodes(data);
7
},
8![]()
9
failure: function(errorMsg) {
10
Ext.Msg.alert('Failure', errorMsg);
11
}
12
});
13
}
14
function nodeLoad(node) 2
{3
Coolite.AjaxMethods.NodeLoad(node.id, {4
success: function(result) {5
var data = eval("(" + result + ")");6
node.loadNodes(data);7
},8

9
failure: function(errorMsg) {10
Ext.Msg.alert('Failure', errorMsg);11
}12
}); 13
}14
code Behind:
1
[AjaxMethod]
2
public static string NodeLoad(string nodeID)
3
{
4
Coolite.Ext.Web.TreeNodeCollection nodes = new Coolite.Ext.Web.TreeNodeCollection();
5
LoadTreeData nodeData = new LoadTreeData();
6
ArrayList getNodes = nodeData.TreeData(nodeID);
7
for (int i = 0; i < getNodes.Count; i++)
8
{
9
nodeData = (LoadTreeData)getNodes[i];
10
AsyncTreeNode asyncNode = new AsyncTreeNode();
11
asyncNode.Text = nodeData.NodeText;
12
asyncNode.NodeID = nodeData.NodeID.ToString();
13
asyncNode.Leaf = nodeData.IsLeaf;
14
if (nodeData.IsLeaf)
15
{
16
//asyncNode.Href = HttpContext.Current.Request.ApplicationPath + "/" + nodeData.NodeUrl;
17
}
18
asyncNode.SingleClickExpand = true;
19
nodes.Add(asyncNode);
20
}
21
return nodes.ToJson();
22
}
[AjaxMethod]2
public static string NodeLoad(string nodeID)3
{4
Coolite.Ext.Web.TreeNodeCollection nodes = new Coolite.Ext.Web.TreeNodeCollection();5
LoadTreeData nodeData = new LoadTreeData();6
ArrayList getNodes = nodeData.TreeData(nodeID);7
for (int i = 0; i < getNodes.Count; i++)8
{9
nodeData = (LoadTreeData)getNodes[i];10
AsyncTreeNode asyncNode = new AsyncTreeNode();11
asyncNode.Text = nodeData.NodeText;12
asyncNode.NodeID = nodeData.NodeID.ToString();13
asyncNode.Leaf = nodeData.IsLeaf;14
if (nodeData.IsLeaf)15
{16
//asyncNode.Href = HttpContext.Current.Request.ApplicationPath + "/" + nodeData.NodeUrl;17
}18
asyncNode.SingleClickExpand = true;19
nodes.Add(asyncNode);20
}21
return nodes.ToJson();22
}
aspx:
在TreePanel的Listener里加上如下代码:
<Listeners>
<BeforeLoad Fn="nodeLoad" />
</Listeners>
<BeforeLoad Fn="nodeLoad" />
</Listeners>


Coolite.AjaxMethods.NodeLoad(node.id,
浙公网安备 33010602011771号