Gå til innhold

Anbefalte innlegg

Hei

Lurer på om noen har forslag til en måte jeg kan sette opp handlekurv på i C#.

Jeg bruker Visual Web Developer og har satt opp produktene mine slik at de har en kjøp knapp som kun legger pris til en Sesjonsvariabel.

 

F.eks.

int pris;
protected void Page_Load(object sender, EventArgs e)
{
	if (Session["pris"] != null)
	{
		pris = (int)Session["pris"];
	}
}
protected void Page_Unload(object sender, EventArgs e)
{
	Session["pris"] = pris;
}

protected void btn_under1_Click(object sender, EventArgs e)
{
	pris = pris + 259;
}

 

Med dette har jeg totalprisen på alle varene mine, men på en ny side kalt handlekurv.aspx skulle jeg da hatt en liste over de produktene som er blitt trykket Kjøp på.

Lenke til kommentar
Videoannonse
Annonse

Ofte er dette definert i databasen, og er ikke egentlig så relevant for selve C# koden.

Bare ikke gjør som det ble gjort i en database som broren min drev med, hvor de hadde satt session-ID som primærnøkkel som gjorde at det ikke var mulig å endre handlekurven etter at brukeren hadde logget inn på nytt.

God databasedesign er alfa-omega for et slikt program, tenk godt over hva du gjør.

Lenke til kommentar

Jeg vil foreslå at du lager en egne klasser, og så legger denne klassen inn i session. Lag to klasser, en Product og en Cart. En Cart har flere Products. Disse klassene holder så all informasjonen om produktene. Nedenfor er et eksempel som kan være en god start (ikke testet)

 

public class Product {

 private string _Name;
 private double _Price;
 private double _Count;

 // Product name
 public string Name {
get {
  return _Name;
}
 }

 // Price for 1 product
 public double Price {
get {
  return _Price;
}
 }

 // Number of products
 public double Count {
get {
  return _Count;
}
 }

 // Product subtotal
 public double Subtotal {
get {
  return _Price*_Count;
}
 }

 public Product(string name, double count, double price) {
 }
_Name=name;
_Count=count;
_Price=price;
}

public class Cart {

 public List<Product> Products;

 // Total price for all products
 public double Total {
get {
  double total=0;

  foreach(Product p in Products)
	total+=Product.Subtotal;

  return total;
}
 }

 public Cart() {
Products=new List<Product>();
 }

 // Insert new product
 public void InsertProduct(string name, double count, double price) {
Products.Add(new Product(name, count, price));
 }

}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...