ASP.NET: Problem with CheckBoxList and OnSelectedIndexChanged
<p>I'm having a problem with CheckBoxList and OnSelectedIndexChanged:</p>

<pre><code>            &lt;asp:UpdatePanel runat="server"&gt;
                &lt;ContentTemplate&gt;

                     &lt;asp:CheckBoxList 
                        id="lstWatchEType" 
                        runat="server" 
                        DataTextField="DescriptionText" 
                        DataValueField="Id"
                        AutoPostBack="true"
                        OnSelectedIndexChanged="lstWatchEType_SelectedIndexChanged"/&gt;

                &lt;/ContentTemplate&gt;
            &lt;/asp:UpdatePanel&gt;
</code></pre>

<p>This is populated in Page_Load (!IsPostBack)</p>

<pre><code>public static void PopulateWatchEType(CheckBoxList list, Guid clientId)
        {
            OffertaDataContext db = new OffertaDataContext();

            var ds = (from e in db.EnquiryTypes select new {
                Id = e.Id,
                DescriptionText = e.DescriptionText,
                IsWatching = !db.WatchXrefEnquiryTypes.Any(f =&gt; f.ClientId.Equals(clientId) &amp;&amp; f.EnquiryTypeId==e.Id &amp;&amp; f.Inbox==false)
            });

            list.DataSource = ds;
            list.DataBind();

            foreach(var item in ds)
            {
                list.Items.FindByValue(item.Id.ToString()).Selected = item.IsWatching;
            }
        }
</code></pre>

<p>My problem is in:</p>

<pre><code> protected void lstWatchEType_SelectedIndexChanged(Object sender, EventArgs e)
    {
        ListItem item = lstWatchEType.SelectedItem;
        ...
    }
</code></pre>

<p>Where item is always the first element in the list??? </p>
