在ASPNet中如果要实现两个ListBox相互传递数据比如有两个ListBox ListBox 和 ListBox
<asp:ListBox id=ListBox runat=server Height=px
Width=px>
<asp:ListItem Value=单片机>单片机</asp:ListItem>
<asp:ListItem Value=网络程序设计>网络程序设计</asp:ListItem>
<asp:ListItem Value=电子商务>电子商务</asp:ListItem>
<asp:ListItem Value=计算机图形学>计算机图形学</asp:ListItem>
<asp:ListItem Value=分布式系统>分布式系统</asp:ListItem>
<asp:ListItem Value=JSP技术>JSP技术</asp:ListItem>
</asp:ListBox>
<asp:ListBox id=ListBox runat=server Height=px
Width=px></asp:ListBox>
添加两个Button button 和 button
<asp:Button id=Button runat=server Width=px Text=
添加></asp:Button>
<asp:Button id=Button runat=server Width=px Text=
删除></asp:Button>
给button添加Click事件
private void Button_Click(object sender SystemEventArgs e)
{
thisListBoxItemsAdd(thisListBoxSelectedItem);
thisListBoxItemsRemove(thisListBoxSelectedItem);
}
button的Click事件
private void Button_Click(object sender SystemEventArgs e)
{
thisListBoxItemsAdd(thisListBoxSelectedItem);
thisListBoxItemsRemove(thisListBoxSelectedItem);
}
假象 :表面上看基本的功能已经实现了编译运行点击添加按钮ListBox中选中的确实跑到ListBox中了再次点击 出现错误当SelectionMode 为 Single 时ListBox 不能有多个选定项
改正方法修改ListBox 和 ListBox的SelectionMode 属性 设置为 Multiple 基本上可以实现但是效果很次
改正方法不修改ListBox和ListBox的SelectionMode 属性 通过修改Button_Click代码
private void Button_Click(object sender SystemEventArgs e)
{
thisListBoxItemsAdd(thisListBoxSelectedItem);
thisListBoxSelectedIndex = ;
thisListBoxItemsRemove(thisListBoxSelectedItem);
}
假象再次出现当第一次点击添加时ListBox中的选中项被添加到ListBox中并且ListBox中的选定项以删除再次点击ListBox中的项
再次添加到ListBox中但是ListBox中的选定项并为移除我怀疑是SelectIndex的影响在次修改代码
private void Button_Click(object sender SystemEventArgs e)
{
thisListBoxItemsAdd(thisListBoxSelectedItem);
thisListBoxItemsRemove(thisListBoxSelectedItem);
thisListBoxSelectedIndex = ;
}
这样就可以了