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