Установите для свойства AutoPostBack значение True, а затем внесите и внесите необходимые изменения на сервере: Как использовать функцию AutoPostBack в CheckBoxList
<asp:CheckBoxList
ID="CheckBoxList1"
runat="server"
AutoPostBack="true"
OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChnaged"
>
Чтобы увидеть, какие элементы ListItems былипроверено, вы можете перебирать CheckBoxList следующим образом:
protected void CheckBoxList1_SelectedIndexChnaged(object sender, System.EventArgs e)
{
Label1.Text = "You Selected:<br /><i>";
foreach (ListItem li in CheckBoxList1.Items)
{
if (li.Selected == true)
{
Label1.Text += li.Text + "<br />";
}
}
Label1.Text += "</i>";
}
Чтобы получить значение ListItem, которое было проверено без перебора всех ListItems, вы можете сделать следующее:
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
CheckBoxList list = (CheckBoxList)sender;
string[] control = Request.Form.Get("__EVENTTARGET").Split('$');
int index = control.Length - 1;
ListItem li = (ListItem)list.Items[Int32.Parse(control[index])];
}
На данный момент у вас будет актуальный ListItem, который был проверен, и вы можете делать с ним все, что пожелаете.