对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); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构