-1

我有两个 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>

在他们点击“保存”后:

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

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

4

2 回答 2

1

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

于 2015-04-10T14:01:58.260 回答
1

DataKey 没有设置器。

请改用 DataValueField。

于 2015-09-09T19:58:08.007 回答