C# Telerik RadTreeList:GetDataKeyValues返回null
我试图在我的rad树列表中获取客户机数据键值,但它总是返回null:C# Telerik RadTreeList:GetDataKeyValues返回null,c#,asp.net,asp.net-ajax,telerik,C#,Asp.net,Asp.net Ajax,Telerik,我试图在我的rad树列表中获取客户机数据键值,但它总是返回null: private List<xItems> GetTreeListChanges() { List<xItems> xItems = new List<xItems>(); foreach(TreeListDataItem rtlItem in rtlxItems.Items) { string xItemsId = Convert.ToString(r
private List<xItems> GetTreeListChanges()
{
List<xItems> xItems = new List<xItems>();
foreach(TreeListDataItem rtlItem in rtlxItems.Items)
{
string xItemsId = Convert.ToString(rtlItem.GetDataKeyValue("xItemsId"));
}
[...]
}
private List GetTreeListChanges()
{
List xItems=新列表();
foreach(rtlxItems.Items中的TreeListDataItem rtlItem)
{
字符串xItemsId=Convert.ToString(rtlItem.GetDataKeyValue(“xItemsId”);
}
[...]
}
以下是标记代码,其中定义了我的数据键:
<telerik:RadTreeList ID="rtlxItems" runat="server" AllowMultiItemEdit="false"
ParentDataKeyNames="ParentId" DataKeyNames="ChlidId" ClientDataKeyNames="xItemsId">
XItemsId仅是客户端数据键,您应该将getDataKey更改为使用ChildId(dataKeyNames声明中也有输入错误)
private List<xItems> GetTreeListChanges()
{
List<xItems> xItems = new List<xItems>();
foreach(TreeListDataItem rtlItem in rtlxItems.Items)
{
string xItemsId = Convert.ToString(rtlItem.GetDataKeyValue("ChildId"));
}
[...]
}
<telerik:RadTreeList ID="rtlxItems" runat="server" AllowMultiItemEdit="false"
ParentDataKeyNames="ParentId" DataKeyNames="ChildId" ClientDataKeyNames="xItemsId">
private List GetTreeListChanges()
{
List xItems=新列表();
foreach(rtlxItems.Items中的TreeListDataItem rtlItem)
{
字符串xItemsId=Convert.ToString(rtlItem.GetDataKeyValue(“ChildId”);
}
[...]
}
我遇到以下异常:KeyNames集合长度必须与ParentKeyNames集合长度匹配。
从一开始,当我在ParentDataKeyNames
和DataKeyNames
属性中的每个键超过一个时,我总是会遇到此错误。我还没有看到允许指定多个dat的文档aKeyName对于树列表,其他控件允许使用逗号分隔的列表。您的parentId和xItemsId或子ID需要具有相同的字段类型,仅此而已。因此,使用xItemsId作为该项的datakeyname,或者使用childID并将此代码更改为使用childID:rtlItem.GetDataKeyValue(“childID”)