如果我有兩個列表框,它們之間有一個按鈕,如果ListBox2的項目是數據綁定,如何更新ListBox2的Items?如何處理ASP.NET ListBox上的SqlDataSource的雙向綁定
<asp:ListBox runat="server" ID="ListBox1" DataSourceID="DataSource1"
DataTextField="Name" DataValueField="ID" SelectionMode="Multiple" />
<asp:Button runat="server" ID="addButton" onClick="addButton_Click" />
<asp:ListBox runat="server" ID="ListBox2" DataSourceID="DataSource2"
DataTextField="Name" DataValueField="ID" SelectionMode="Multiple" />
另外,如果我使用的SelectionMode =「多」,我將能夠使用更新的更新命令,在一次接受一個項目的數據源?
編輯:
好,添加一些澄清:
- 兩個列表框是數據綁定到唯一的數據(的SqlDataSource)。
- 我想從ListBox1添加項目到ListBox2,反之亦然,當用戶點擊一個按鈕。
- 我想能夠添加多個項目到列表框(假設多選擇打開)
- 我想要觸發一個UpdateSource的DataSource。
到目前爲止,唯一的辦法我能做到這一點是通過手動採取從第一ListBox中的每個項目並添加它作爲一個參數傳遞給數據源的更新命令和手動調用SqlDataSource.Update()方法。這有效,但這意味着我需要傳遞一個分隔字符串進行多項選擇或打開多個連接。我正在尋找的是一種更新ListBox上的DataSource的方法,一旦它完全更新,然後調用綁定/更新並將數據保存回數據庫。
下面的想法會起作用嗎? 當用戶想要將值從第一個ListBox移動到第二個時,實際上會對數據庫中第二個從第二個拉入的位置執行插入操作,然後重新綁定第二個控件。 然後,如果用戶想要從第二個ListBox中刪除一個值,則在數據庫上執行刪除命令。 這種方法可以讓您保留所有其他代碼。如果將控件放入UpdatePanel中,甚至可以將項目移入和移出列表框,而無需重新加載頁面。 – 2010-01-07 21:00:46