DataGrid中Repeater中的复选框问题(c#)
本文关键字:问题 复选框 Repeater DataGrid | 更新日期: 2023-09-27 17:50:30
我知道这有点奇怪,但是有一个很好的理由。
我有一个DataGrid,在DataGrid里面有一个Repeater,在Repeater里面,有一个CheckBoxList
<asp:DataGrid ID="dg" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Repeater ID="rep" runat="server">
<ItemTemplate>
<asp:CheckBoxList ID="cbl" runat="server" DataTextField="Name" DataValueField="ID"></asp:CheckBoxList>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</Components:ExtendedDataGrid>
这会导致一个相当奇怪的问题。点击第一个重复器项目中的标签就可以了。然而,在第二个重复项目中,标签脱落。
- 单击第二组中的第二项,则选择第二组中的第一项。
- 单击第三组中的第一项,则选择第二组中的最后一项。
- 单击第三组中的第3项,则选中第三组中的第1项。
在第二组中跳过1,在第三组中跳过2,以此类推。很奇怪。
当我查看源代码时,我可以看到标签上的"for"属性确实是错误的。
有什么想法吗?
Ok…我终于回过头来想明白了。我在复选框旁边有一个我没有提到的隐藏字段。由于某种原因,当我把它去掉后,其他的一切都开始正常工作了