后面代码中的RadTreeNode数据集没有出现在WebService回调中

本文关键字:WebService 回调 数据集 代码 RadTreeNode | 更新日期: 2023-09-27 18:03:42

我有一个radtreeview,我最初在我的页面代码中的数据绑定,但任何节点扩展依赖于对SVC web服务的调用。问题是,当事件正确触发并在我的webservice中运行以下方法时:

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

RadTreeNode expdednone参数为空。当我在后面的代码中构建初始树时,我设置

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方法火灾?

我的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>

后面代码中的RadTreeNode数据集没有出现在WebService回调中

我假设服务方法的签名是强固定的:

RadTreeNodeData[] WebServiceMethodName(RadTreeNodeData node, object context).

你应该把'ExpandedNode'重命名为'node'