У меня есть функция, которая добавляет элементы в мой arraylist. моя проблема в том, что он содержит только один элемент за раз, так как он повторно инициализирует массив, освещенный каждый раз, когда я нажимаю кнопку. Каков синтаксис в VB только для инициализации массива, если он еще не создан?как инициализировать мой arraylist
Dim itemSelectAs New ArrayList()
Dim Quantities As New ArrayList()
Dim itemQtyOrdered As Integer
Public Sub ShtickDataList_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.ListViewCommandEventArgs) Handles ShtickDataList.ItemCommand
If e.CommandName = "addToCart" Then
Dim itemQuantity As DropDownList = e.Item.FindControl("QuantityDropDown")
itemQtyOrdered = itemQuantity.SelectedValue
ItemSelect.Add(e.CommandArgument)
Quantities.Add(itemQtyOrdered)
Session("itemInCart") = ItemSelect
Session("quantities") = Quantities
viewInvoice()
End If
End Sub
Protected Sub viewInvoice()
Dim itemSelected As ArrayList = DirectCast(Session("itemInCart"), ArrayList)
Dim QuantityofItem As ArrayList = DirectCast(Session("quantities"), ArrayList)
Dim conn As SqlConnection
Dim comm As SqlCommand
Dim reader As SqlDataReader
Dim purimConnection2 As String = ConfigurationManager.ConnectionStrings("Purim").ConnectionString
conn = New SqlConnection(purimConnection2)
comm = New SqlCommand("SELECT ProductName FROM Products WHERE ProductID = @ProductID", conn)
Dim i As Integer
For i = 0 To ItemSelect.Count - 1
comm.Parameters.Add("@ProductID", Data.SqlDbType.Int)
comm.Parameters("@ProductID").Value = (ItemSelected.Count - 1)
'Next
Try
conn.Open()
reader = comm.ExecuteReader()
ViewCartlink.Text = "View Cart: (" & ItemSelected.Count & ")"
Finally
conn.Close()
End Try
End Sub
Что вы хотите сделать? – Neolisk
Я хочу продолжать добавлять в список массивов. так, как я это делал, это с myArrayList.Add. Каждый раз, когда я нажимаю кнопку putton, чтобы добавить элемент в arraylist, последний элемент переопределяет первый, оставляя меня с одним элементом в arraylist в любой точке. Я хочу успешно добавить элементы в мой arraylist, чтобы они были доступны в сеансе пользователей. кто-то упомянул о том, что если мистер будет инициализировать список массивов снова, тем самым потеряв первый элемент – user2120280
Есть ли какая-то конкретная причина, почему вы хотите избежать Generic.List (Of T)? См. [Что такое разброс b/w Generic List и Arraylist] (http://stackoverflow.com/questions/3530350/what-is-difference-bw-generic-list-and-arraylist-generic-list-vs-hashtable- ge) и [ArrayList против общего списка для примитивных типов и 64-бит] (http://blogs.msdn.com/b/joshwil/archive/2004/04/13/112598.aspx) – Neolisk