2011-07-26 13 views
0

我有一个radtreeview,我最初是在我的页面代码中进行数据绑定,但任何节点扩展都依赖于对SVC Web服务的调用。 的问题是,当事件触发正确,运行下面的方法了我的web服务的:在代码背后的RadTreeNode数据不会出现在WebService回调中

[OperationContract] 
[WebMethod] 
public RadTreeNodeData[] TreeViewNodeExpand(RadTreeNodeData ExpandedNode, 
               object context) { 
      // blah blah some code 
} 

的RadTreeNode ExpandedNone参数为null。 当我建我的代码最初的树后,我设置

List<RadTreeNode> collection 
= (data.Select(x => new RadTreeNode 
{ 
    Category = category, 
    ExpandMode = WebService, 
    Value = x.Value.ToString(), 
    Text = x.Text, 
    DataItem = 555 
})).ToList(); 

我明确设置的DataItem到“555”。 我是否错过了为什么RadTreeNodeData ExpandedNode在webservice方法触发时为null?

我radtreeview标记低于:

<telerik:RadTreeView ID="treeView" CheckBoxes="true" PersistLoadOnDemandNodes="true" 
    TriStateCheckBoxes="True" runat="server" CheckChildNodes="True" CausesValidation="false" 
    EnableEmbeddedSkins="false" Skin="VBoD"> 
    <WebServiceSettings Path="~/WebServices/Retriever.svc" Method="TreeViewNodeExpand"> 
    </WebServiceSettings> 
</telerik:RadTreeView> 

回答

1

我假定服务方法的签名stronly固定:

RadTreeNodeData [] WebServiceMethodName(RadTreeNodeData 节点,对象上下文)。

您应该将'ExpandedNode'重命名为'node'。

+0

哇 - 你是对的。谢谢! – Matt

相关问题