2013-03-08 3 views
0

문제가 있습니다.배열 목록 오류 두 번째 배열 첫 번째 배열 바꾸기

Dim Maxis As String 
     'Dim MaxisExtra As String 
     Dim b As New ArrayList 
     Dim WS As New WebService1.Service1 
     Dim cnt As String 
     Dim MRWS As New MobileReload_WS.MobileReload_WS 
     cnt = WS.StockCountTelco(1, Session("Maxis")) 
     If CInt(cnt) >= CInt(DropDownList1.SelectedItem.Text) Then 
      Dim sLock As String 
      sLock = MRWS.LockAStock(1, 1, "Online", Session("Maxis"), DropDownList1.SelectedItem.Text) 
      Session("sLock") = sLock 

      If sLock = "" Then 
       PopupMsgBox("Unable to allocate Stock") 
      Else 
       Maxis = "Maxis" & ";" & Session("Maxis") & ";" & DropDownList1.SelectedItem.Text & ";" & Session("Cost") 
       'If MaxisExtra = "" Then 
       ' b.Add(Maxis) 
       ' Elseif 
       ' MaxisExtra = MaxisExtra + Maxis 
       ' b.Add(MaxisExtra) 
       'End If     
      End If 
     Else 
      PopupMsgBox("Not enough stock") 
     End If 
     b.Add(Maxis) 
     Session("Transaction") = b 
    End Sub 

처음으로 문자열을 arraylist에 입력해도 괜찮습니다. 그러나 사용자가 버튼을 다시 누르면 두 번째 시간이 추가되면 첫 번째 문자열이 대체됩니다. 아무도 내 코딩을 기반으로 두 번째 슬롯에 문자열을 저장하는 방법을 도울 수 있습니까?

답변

0

당신은 ... 당신은 아마 당신이 대신 같은 것을 의미하는 새로운 매번 생성하고

Session("Transaction")의 새로운 ArrayList를 저장하고는 bArrayList에 대해 이야기하는 경우

Dim b as ArrayList = Session("Transaction") 
If b Is Nothing Then 
    b = new ArrayList 
End If 
... 
Session("Transaction") = b 

정확히 말하기는 어렵지만 코드가 지저분하고 명확하지 않기 때문에

0

배열 변수를 세션 변수에 넣었지만 다시 읽지는 않습니다. 매번 새로운 배열 목록을 작성하므로 항상 비어 있고 이전 배열을 대체합니다.

Dim b As ArrayList = Session("Transaction") 
If b Is Nothing Then b = New ArrayList 
: 존재하는 경우

는 세션 변수에서 배열 목록을 가져옵니다
관련 문제