CheckBoxList SelectedIndexChanged event in asp.net c#

CheckBoxList SelectedIndexChanged Event
Asp.net CheckBoxList web server control provides a multi-selection checkbox group. this is a list server control. list server control contains an Items collection that holds all ListItem Objects. ListItem objects have three useful properties they are Text, Value, and Selected.

CheckBoxList control's OnSelectedIndexChanged property raises the SelectedIndexChanged event. this property allows the developers to write a custom handler for the SelectedIndexChanged event.

The SelectedIndexChanged event is raised when the selection from the CheckBoxList control changes between posts to the server. so when a user changes a selection from CheckBoxList control then the SelectedIndexChanged event is raised and the page automatically posts to the web server. for that happening developers need to set the CheckBoxList AutoPostBack property value to True. when someone changes the selection from CheckBoxList then the page can immediately show the result using the SelectedIndexChanged event.

The following c# example source code demonstrates to us how can we use the SelectedIndexChanged event in asp.net CheckBoxList sever control.
CheckBoxListOnSelectedIndexChanged.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    protected void CheckBoxList1_SelectedIndexChnaged(object sender, System.EventArgs e)
    {
        Label1.Text = "You Choose Color:<br /><i>";
        foreach (ListItem li in CheckBoxList1.Items)
        {
            if (li.Selected == true)
            {
                Label1.Text += li.Text + "<br />";
            }
        }
        Label1.Text += "</i>";
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>How to use SelectedIndexChanged event in CheckBoxList</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:Navy">CheckBoxList: OnSelectedIndexChanged</h2>
        <asp:Label 
             ID="Label1"
             runat="server"
             Font-Bold="true"
             ForeColor="Crimson"
             Font-Size="Large"
             >
        </asp:Label>
        <br />
        <asp:Label 
             ID="Label2"
             runat="server"
             Font-Bold="true"
             ForeColor="DarkBlue"
             Text="Color List"
             >
        </asp:Label>
        <asp:CheckBoxList 
             ID="CheckBoxList1"
             runat="server"
             AutoPostBack="true"
             OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChnaged"
             BackColor="DodgerBlue"
             ForeColor="FloralWhite"
             >
             <asp:ListItem>AntiqueWhite</asp:ListItem>
             <asp:ListItem>Ivory</asp:ListItem>
             <asp:ListItem>DarkViolet</asp:ListItem>
             <asp:ListItem>Lavender</asp:ListItem>
             <asp:ListItem>DeepPink</asp:ListItem>
        </asp:CheckBoxList>
    </div>
    </form>
</body>
</html>