对ListBox的添加移除操作

前台代码:

      <div>                <asp:ListBox ID="ListBox1" runat="server" Height="123px" Width="113px" SelectionMode="Multiple">             <asp:ListItem>tom</asp:ListItem>             <asp:ListItem>jion</asp:ListItem>             <asp:ListItem>j</asp:ListItem>             <asp:ListItem>l</asp:ListItem>             <asp:ListItem>k</asp:ListItem>         </asp:ListBox> & nbsp;<asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" Text="添加" /> & nbsp;         <asp:Button ID="btnRemove" runat="server" Text="移除" OnClick="btnRemove_Click" /> & nbsp;<asp:ListBox ID="ListBox2" runat="server" Height="123px" SelectionMode="Multiple" Width="113px"></asp:ListBox>            </div> 后台代码:

        protected void btnAdd_Click(object sender, EventArgs e)         {             #region listbox添加记录的一种错误理解               //选择多条记录的时候,会有一条没有被添加,这是因为当一条记录被移除后,原来的第二条记录的index为0             //for (int i = 0; i < ListBox1.Items.Count; i++)             //{             //    if (ListBox1.Items[i].Selected == true)             //    {             //        ListBox2.Items.Add(ListBox1.SelectedValue);             //        ListBox1.Items.Remove(ListBox1.SelectedValue);             //    }             //}             #endregion

            #region listbox利用index索引号进行添加的简单写法                 //while (0 <= ListBox1.SelectedIndex)             //{             //    ListBox2.Items.Add(ListBox1.SelectedItem);             //    ListBox1.Items.Remove(ListBox1.SelectedItem);             //}             #endregion

            #region listbox的另一种成功添加方法

            List<ListItem> list = new List<ListItem>();             for (int i = ListBox1.Items.Count - 1; i >= 0; i--)             {                 if (ListBox1.Items[i].Selected == true)                 {                     list.Add(ListBox1.Items[i]);                     ListBox1.Items.Remove(ListBox1.Items[i]);                 }             }             for (int i = 0; i <=list.Count - 1; i++)             {                 ListBox2.Items.Add(list[i]);             }             #endregion

        }

        protected void btnRemove_Click(object sender, EventArgs e)         {             while (0 <= ListBox2.SelectedIndex)             {                 ListBox1.Items.Add(ListBox2.SelectedItem);                 ListBox2.Items.Remove(ListBox2.SelectedItem);             }         }

原文地址:https://www.cnblogs.com/qiqiBoKe/p/3010910.html