Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Telerik RadTreeList:GetDataKeyValues返回null_C#_Asp.net_Asp.net Ajax_Telerik - Fatal编程技术网

C# Telerik RadTreeList:GetDataKeyValues返回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

我试图在我的rad树列表中获取客户机数据键值,但它总是返回null:

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”)