我有一个数据列表包含复选框列表。
<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?
答案 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作为父级,则尝试使用父级的父级。