speedyMedlem sedan dec. 200283 inlägg 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?
Tror inte det går att skapa 2-dimensionella ArrayList. Men varför inte en vanlig int-array. Första dim. kan vara antal och den andra produktens id.
speedyMedlem sedan dec. 200283 inlägg 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 :)
icaaqMedlem sedan okt. 20005 273 inlägg Har du kollat in HashTable :OO
mvh icaaq
speedyMedlem sedan dec. 200283 inlägg Jo ja har kollat på hashtables men det verkar enligt de källor jag sett som att den bara är endimentionell tyvärr :/
icaaqMedlem sedan okt. 20005 273 inlägg
.NET Documention skrev:
Each element is a key-and-value pair stored in a DictionaryEntry object.
Jag tycker att det vore perfekt till en kundvagn :)
mvh icaaq
kan du inte kolla hur microsoft och deras hejdukar har gjort gjort i deras exempel webbshop, IBuyspy? källkod finns att ladda ner på deras hemsida.
GrynetMedlem sedan maj 2001329 inlägg 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.
PatrikBMedlem sedan mars 20002 836 inlägg 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.
cya,
PatrikB
speedyMedlem sedan dec. 200283 inlägg Jag har lagt upp det enligt PatriktB:s metod och kan nu skapa instanser av den klassen när jag klickar på "köp knappen".
Problemet jag har nu är att när jag sedan lägger min arraylist med objekt i en session så kan jag inte läsa in den igen.
Jag har suttit och stirrat på detta en stund så jag tänkte att ngn kanske kan säga vad jag gör för fel :r
Ett exempel på hur jag gör ungefär:
ArrayList = session("spara")
'massa kod som skapar objektet
ArrayList.add(mittObjektNamn)
Session("spara") = ArrayList