Jag sitter här och försöker göra en av mina första applikationer i ASP.NET med VB.NET men har fått lite trubbel.
Jag håller på och gör en enkel webbshop och där tänkte jag använda en array som jag lägger i en sessionsvariabel för att hålla reda på "varukorgen" medans man handlar.
Jag hittade arraylist i min bok som verkade passa bra för detta ändamål men trotts att jag letat en massa så hittade jag ingen info om det går att skapa en tvådimentionell arraylist på något sätt. (jag behöver ju en tvådimintionell för att hålla reda på varuID, antal osv.)
Det enda jag kunde komma på vara att man kanske kunde skapa en arraylist och sedan för varje ny rad lägga in en array för varje post i "kundvagnen". Detta har jag inte fått att fungera tyvärr så jag e nu tillbaks där jag var när jag började :(
Min fråga:
Vet ni om det går att skapa tvådimentionella arraylists eller om man kan lägga in arrays i en arraylist. Hur gör man i så fall detta?
Anledningen är att det med en arraylist är mkt enklare att lägga till, ta bort och redigera poster eftersom det redan finn funktioner för detta. Använder jag en vanlig array så måste jag skrivva dessa själv :)
Gör ett objekt av dina uppgifter och spara dessa i arraylisten.
tex:
public class Vara{
int ProduktID;
int Antal;
string Namn;
string Kostnad;
public Vara{int produktID, antal, string namn, string kostnad){
:
:
}
}
//lägg till varan i din arraylist
arrayList.Add(new Vara(1,1,"Kalsonger","50"));
Så behöver du inte en två dim array eller rättare sagt en n när du behöver lägga till mer uppgifter.
Om du vill kan du använda en hashtable använd då tex produktId som nykel.
ett litet tillägg till grynet: Du "ska" göra en klass och spara i ngn form av collection.
I VB ser det ut så här, med Egenskaper istället för publika variabler:
Public Class BasketItem
Private m_BasketItemID As Integer
Private m_Name As String
Private m_Amount As Integer
Private m_Price As Decimal
Public Property BasketItemID() As Integer
Get
Return m_BasketItemID
End Get
Set(ByVal Value As Integer)
m_BasketItemID = Value
End Set
End Property
Public Property Name() As String
Get
Return m_Name
End Get
Set(ByVal Value As String)
m_Name = Value
End Set
End Property
Public Property Amount() As Integer
Get
Return m_Amount
End Get
Set(ByVal Value As Integer)
m_Amount = Value
End Set
End Property
Public Property Price() As Decimal
Get
Return m_Price
End Get
Set(ByVal Value As Decimal)
m_Price = Value
End Set
End Property
End Class
Själv försöker jag att använda så få publika variabler som möjligt och använder istället publika egenskaper.
Du ska oxå skapa en klass för själva varukorgen.
Du kan inte tänka "gamla asp" utan du MÅSTE lära dig att tänka på ett helt annat sätt i dotNET. Mitt råd är att du antingen skaffar dig ett par böcker om oo-programmering eller går en kurs i ämnet.