0

我知道这有点奇怪,但这是有充分理由的。

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

这导致了一个相当奇怪的问题。单击第一个中继器项目中的标签可以正常工作。但是,在第二个中继器项目中,标签脱落。

  • 如果单击第 2 组中的第 2 项,则选择第 2 组中的第 1 项。
  • 如果单击第 3 组中的第 1 项,则选择第 2 组中的最后一项。
  • 如果单击第 3 组中的第 3 项,则选择第 3 组中的第 1 项。

因此,它在第二组中跳过 1,在第三组中跳过 2,等等。非常奇怪。

当我查看源代码时,我可以看到标签上的“for”属性确实是错误的。

有什么想法吗?

4

1 回答 1

0

好的...我终于回到了这个问题上并弄清楚了。实际上,我没有提到的复选框列表旁边有一个隐藏字段。出于某种原因,当我把它拿出来时,其他一切都开始正常工作了。

于 2013-01-16T14:27:10.517 回答