我有一個包含2個列表框的網頁,我需要能夠在它們之間來回移動數據。直到我需要其中一個列表框(ColumnsList)才能從Access數據庫獲取其數據時,我的工作狀況一直很好。當從表中獲取值時,在列表框之間移動數據
這些值填充在服務器端,所以我現在使用的jQuery代碼現在總是返回所選項目的計數爲0.我假設我現在需要將這些項目移到服務器端vb代碼中。我成功地做到了這一點,但那導致了表單的回傳,這是我不能擁有的。
我試圖使用JavaScript來調用webmethod來執行移動,但除非我使用「公共共享函數」聲明,然後導致無法通過列表框看到問題該代碼(不能從共享方法中引用類的實例成員...)。
不管怎麼說,這是按鈕控制移動的項目列表框右邊:
<button id="MoveRight" runat="server" style="position:absolute; left:845px; top:250px; width:30px; height:30px;" type="button">></button>
下面是在服務器端聲明的按鈕:
Protected WithEvents MoveRight As System.Web.UI.HtmlControls.HtmlButton
這裏是我的代碼 - 後面,服務器端代碼:
Private Sub MoveRight() Handles MoveRight.ServerClick
Dim LeftSideCount As Integer = 0
Dim RightSideCount As Integer = 0
Dim SelectedItemsArray(111) As ListItem
For x As Integer = 0 To ColumnsList.Items.Count - 1
If ColumnsList.Items.Item(x).Selected Then
LeftSideCount += 1
SelectedItemsArray(x) = ColumnsList.Items.Item(x)
End If
Next
For y As Integer = 0 To SelectedColumns.Items.Count - 1
RightSideCount += 1
Next
If LeftSideCount + RightSideCount <= 15 Then
'move items right
For z As Integer = 0 To LeftSideCount - 1
SelectedColumns.Items.Add(SelectedItemsArray(z))
ColumnsList.Items.Remove(SelectedItemsArray(z))
Next
Else
'don't move items right
End If
End Sub
有沒有什麼辦法可以做到這一點,而不發生回傳?
在此先感謝任何人的建議!