Jag har följt den här guiden till hur man göra en kundvagn: http://www.sitepoint.com/article/net-shopping-cart-datatables men den är skriven i vb.net och jag håller på med c#. Så nu har jag försökt översätta det hela, men har stött på lite problem. Jag har använt mig av en generator som jag hittade på en hemsida.
Jag funderar lite över hur den här koden blev genererad:
Jo, när du skapar objDT så får den typen "object" vilket är C# sätt att tala om att man inte vet vilken typ man fått, så du måste göra en cast, och det gör man enklast genom att skriva
objDT = (System.Data.DataTable)Session["Cart"];
och på motsvarande ställen där du får problem med typen object
Jo, när du skapar objDT så får den typen "object" vilket är C# sätt att tala om att man inte vet vilken typ man fått, så du måste göra en cast, och det gör man enklast genom att skriva
objDT = (System.Data.DataTable)Session["Cart"];
och på motsvarande ställen där du får problem med typen object
De andra problemen kanske också löser sig?
Aha okej, jag löste det genom att skriva objDT = Session["Cart"] as DataTable; Vilket sätt är bäst?
Tack för hjälpen, nu har jag fått bort alla felmeddelanden från koden.
Nu får jag dock ett problem med en annan grej.
När jag försöker lägga till en sak i kundvagen får jag problem med den här koden:
objDR["Cost"] = decimal.Parse(ddlProducts.SelectedItem.Value);
Input string was not in a correct format.
Hur får man till det?
Edit: jag provade att byta ut den där strängen mot en fast summa bara för att se om resten fungerade. Allting fungerar förutom en grej, det är när man lägger till en produkt som man redan har så utökas det så här
Om jag har en socka i kundvagnen och lägger till en socka så blir det inte 1+1 =2 utan det blir 11.
Aha, finns det något bra sätt att kolla om en Session är null? Nu kör jag if(Session["Cart"] == null) finns det något bättre som man ska använda när det gäller sessions?