Telerik radlistbox datakey不会传输

时间:2015-04-07 16:05:10

标签: c# asp.net telerik radlistbox

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

点击&#39;保存&#39;:

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

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

2 个答案:

答案 0 :(得分:1)

我找到了解决这个特殊问题的方法。我将DataValueField="TitleID"添加到a​​spx文件中的源radListBox。然后在我的代码后面,item.Value中提供了我在目标radListBox中查找的值。回想起来似乎很直接。

答案 1 :(得分:1)

DataKey没有setter。

改为使用DataValueField。