Telerik radlistbox datakey 不转移

Telerik radlistbox datakey does not transfer

我有两个 Telerik radListBoxes(源和目标)。两者都是数据绑定的,并设置了 DataKeyField 和 DataTextField 值。目标列表框可能包含先前会话中的一些值。

当我使用内置按钮将项目从源列表框传输到目标列表框时,我可以看到值(文本)已传输过来,但该项目的数据键为空。

我是这些控件的新手,除此之外一切正常。

<telerik:RadListBox runat="server" ID="rlAvailableTitles" Height="200px" Width="300px" ButtonSettings-AreaWidth="35px" 
    AllowTransfer="true" TransferToID="rlTitles" SelectionMode="Multiple" AppendDataBoundItems="true"
    AllowTransferOnDoubleClick="true" DataKeyField="TitleID" DataTextField="TitleName" CssClass="text-align: left;" AutoPostBackOnTransfer="true">
</telerik:RadListBox>
<telerik:RadListBox runat="server" ID="rlTitles" Height="200px" Width="300px" ButtonSettings-AreaWidth="35px"
    AllowTransfer="true" TransferToID="rlAvailableTitles" SelectionMode="Multiple" AppendDataBoundItems="true"
    AllowTransferOnDoubleClick="true" DataKeyField="TitleID" DataTextField="TitleName">
</telerik:RadListBox>

在他们点击 'save' 之后:

foreach (RadListBoxItem item in rlTitles.Items)
{
    string myTitleID = item.DataKey;
    // etc...
} 

我缺少什么来获取与源列表框中的项目一起存储的数据键?

我找到了这个特定问题的解决方案。我将 DataValueField="TitleID" 添加到 aspx 文件中的源 radListBox。然后在我后面的代码中,我在目标 radListBox 中寻找的值在 item.Value 中可用。回想起来似乎很简单。

DataKey 没有 setter.

改为使用 DataValueField。