在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 = ;
}
這樣就可以了
From:http://tw.wingwit.com/Article/program/net/201311/11364.html