所选的datalist索引包含checkboxlist

时间:2012-12-03 10:55:32

标签: c# asp.net visual-studio-2008

我有一个数据列表包含复选框列表。

<asp:DataList ID="dtlstfilter" runat="server">
<ItemTemplate>
  <asp:CheckBoxList ForeColor="Gray"  AutoPostBack="true" OnSelectedIndexChanged="chklist_SelectedIndexChanged" ID="chklist"
   runat="server">
 </asp:CheckBoxList>
</ItemTemplate>
</asp:DataList>

我可以在复选框的SelectedIndexChanged事件中得到数据列表的rownumber,即;如果我有复选框列表控件重复4次,如果我检查第二个,我怎么能得到值2?

2 个答案:

答案 0 :(得分:0)

你可以尝试以下。我添加了+1,因为它是基于0的索引..

Protected void dtlstfilter_SelectedIndexChanged(object sender, EventArgs e)
    {
        lblSelectedIndex.Text = (dtlstfilter.SelectedIndex + 1).ToString();
    }

答案 1 :(得分:0)

您应该尝试像此一样获取checkboxlist的父级

 Protected void dtlstfilter_SelectedIndexChanged(object sender, EventArgs e)
 {
   var control= ((Control)sender).Parent;
    if(control is DataListItem)
    {
       int index=((DataListItem)control).ItemIndex;
    }
}

如果您没有将DataListItem作为父级,则尝试使用父级的父级。