Hej, har problem med att få Profile att funka i en shoppingCart-app jag håller på med. (Lägger med kod nedan). Problem med Profile
Det som händer är; vid klick på länken för att lägga till en vara i kundvagnen så sparas ett objekt av typen ShoppingCart i Profile. (Har kollat via debug att så sker.) När jag däremot klickar igen på samma eller en annan vara så läggs den till men den gamla finns inte kvar. Det finns alltså bara en vara i kundkorgen oavsett hur många man lägger till. Dessutom så funkar inte visningen av korgen. Ingenting skrivs ut i repeatern. Kan det vara nåt med SQL server som är galet? Om nu inte koden är helt galen vilket såklart också kan vara fallet. Vet inte riktigt var och hur jag ska felsöka det i så fall. Tips mottages tacksamt!
Klassen ShoppingCart:
public class ShoppingCart
{
private BackEnd mBe = new BackEnd();
private ArrayList mCart = new ArrayList();
public ShoppingCart()
{
}
public void addToCart(int id)
{
mCart.Add(mBe.getProductByID(id));
}
public ArrayList getCart()
{
return mCart;
}
public void clearCart()
{
mCart.Clear();
}
}
Code behind för att lägga till nåt i kundvagnen:
public void buyProduct(object sender, RepeaterCommandEventArgs e)
{
Profile.shoppingCart.addToCart(int.Parse(e.CommandArgument.ToString()));
}
Länken man klickar för att lägga varan i kundvagnen:
<asp:LinkButton id='addToCart' Text='Lägg i kundvagn' CommandArgument='<%# Eval("ID") %>' runat="server" />
I Page_Load() där kundvagnen ska visas:
purchasedItems.DataSource = Profile.shoppingCart.getCart();
purchasedItems.DataBind();
Repeatern för att visa varorna i kundvagnen:
<asp:Repeater ID="purchasedItems" runat="server">
<ItemTemplate>
<h2>
<%# Eval("Name") %>
</h2>
</ItemTemplate>
</asp:Repeater>
web.config:
<anonymousIdentification enabled="true"/>
<profile enabled="true">
<properties>
<add name="shoppingCart" type="ShoppingCart" allowAnonymous="true"/>
</properties>
</profile>