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 番目の項目をクリックすると、2 番目のグループの 1 番目の項目が選択されます。
  • 3 番目のグループの最初の項目をクリックすると、2 番目のグループの最後の項目が選択されます。
  • 3 番目のグループの 3 番目の項目をクリックすると、3 番目のグループの 1 番目の項目が選択されます。

したがって、2 番目のグループで 1 をスキップし、3 番目のグループで 2 をスキップするなど、非常に奇妙です。

ソースを表示すると、ラベルの「for」属性が実際に間違っていることがわかります。

アイデアはありますか?

4

1 に答える 1

0

わかりました...ようやくこれに戻って、それを理解しました。チェックボックスリストの横に、言及していない隠しフィールドが実際にありました。どういうわけか、それを取り出したとき、他のすべてが正常に機能し始めました。

于 2013-01-16T14:27:10.517 に答える