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に初めて入力するときは問題ありません。しかし、ユーザーがもう一度追加ボタンを押すと、最初の文字列が置き換えられます。私のコーディングに基づいて、文字列を2番目のスロットに保存する方法を誰かが助けてくれますか?

4

2 に答える 2

0

配列リストをセッション変数に入れますが、それを読み返すことはありません。毎回新しい配列リストを作成するため、常に空になり、前のものを置き換えます。

配列リストがある場合は、セッション変数から配列リストを取得します。

Dim b As ArrayList = Session("Transaction")
If b Is Nothing Then b = New ArrayList
于 2013-03-08T08:58:15.890 に答える
0

について話している場合はb ArrayList、毎回新しいものを作成し、新しいものArrayListSession("Transaction")

たぶん、あなたは代わりにこのようなことを意味します...

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

あなたのコードは非常に乱雑で明確ではないため、正確に言うのは難しいですが

于 2013-03-08T08:57:01.803 に答える