Listbox w asp.net nie pobiera wybranych elementów

Mam wiele rozwijanych i listbox na mojej stronie internetowej.

Próbuję dostać listęCategoryID odlstCatID listbox Jestem w stanie wypełnić pole listy nazwą kategorii.

Jeśli dobrze pamiętam w pierwszej próbie, mój kod zadziałał dobrze, po czym dokonałem pewnych zmian, a następnie stwierdziłem, że zawsze otrzymuję pierwszy wybrany element x Ilość czasu

<asp:ListBox ID="lstCatID" runat="server" DataTextField="CategoryName" 
                DataValueField="CategoryID" SelectionMode="Multiple" CssClass="lstListBox">
 </asp:ListBox>



protected void Button1_Click(object sender, EventArgs e)
{
    string CatID = string.Empty;
    foreach (ListItem li in lstCatID.Items)
    {
        if (li.Selected == true)
        {
           // Response.Write();
            CatID += lstCatID.SelectedItem.Value + ",";
        }
    }
    Response.Write(CatID);
}

Nie jestem pewien, co się dzieje źle, sprawdzam MSDN, że pokazuje dokładnie ten sam sposób.

Być może robię coś złego.

Aby dodać za pomocą firefoxa, mogę zobaczyć wiele wybranych wartości, które wybrały właściwość.

<option value="3" selected="selected">One</option>
<option value="2">Two</option>
<option value="29" selected="selected">Three</option>
<option value="25" selected="selected">Four</option>
<option value="22" >Five</option>

Moje wyjście w tym przypadku będzie3,3,3

Byłbym wdzięczny za pomoc w tym zakresie

questionAnswers(4)

yourAnswerToTheQuestion