我有一个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>
答案 0 :(得分:1)
我假设服务方法的签名是严格修复的:
RadTreeNodeData [] WebServiceMethodName(RadTreeNodeData node ,对象上下文)。
您应该将'ExpandedNode'重命名为'node'。