代码隐藏的RadTreeNode数据集不会出现在WebService回调中

时间:2011-07-26 19:55:12

标签: c# asp.net telerik radtreeview

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

[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'。 在Web服务方法触发时,我遗漏了为什么RadTreeNodeData ExpandedNode为空?

我的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 个答案:

答案 0 :(得分:1)

我假设服务方法的签名是严格修复的:

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

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