Avatar billede Slettet bruger
24. august 2009 - 11:25 Der er 6 kommentarer og
1 løsning

Shopping cart

Jeg er igang med at lave et program, hvor man kan forespørge på nogle ting. Det skal fungere lidt på samme måde som en shopping cart.
Jeg vælger et produkt og så skal programmet lave en linie med det produkt, samt antal og så skal der også være en knap som hedder slet. Så jeg kan slette den linie.

Hvad er den bedste måde at lave det på. Via userControls eller skal jeg lave det som noget HTML som bliver sat ind eller noget helt tredje.

Lige nu har jeg lavet det som en alm teksbox som får tilføjet den tekst som jeg vælger via nogle dropdown menuer. Men vil gerne lave det mere avanceret, så håber der er nogle som kan hjælpe mig lidt igang.

Eller komme med nogle links som forklare det godt. Laver det i ASP.NET visual studios 2008 og skriver i C#
Avatar billede keysersoze Guru
24. august 2009 - 12:33 #1
Der er ikke én korrekt måde at gøre det på - men at lave det som indsat HTML lyder i hvert fald som en lidt forkert tilgang.

En usercontrol bliver oftest brugt til sektioner af sider der bliver eller kan blive genbrugt - så skal du have din "kurv" (eller kurvelinje alt afhængig af opbygning) placeret på flere sider så vil det være et rigtig godt valg.

En samlet løsning set ud fra de info de giver kunne i mine øjne være en usercontrol, hvori du lavede en repeater.
Avatar billede Slettet bruger
24. august 2009 - 13:55 #2
I bund og grund skal siden ser sådan her ud.

Producent "dropdownliste"
Kategori "dropdownliste"
Produkt "dropdownliste"
      __
antal |__| "button" (det er en tilføj knap)

(Pt skriver den det ned i en alm teksbox i min default.aspx side. Det skal den stadig gøre dog ikke mere i en textbox, men som en ala shoppingcart
____________________________________________________
Her skal linierne genereres
Produkt#    antal#    "Button"        (det skal være en slet knap)
Produkt#    antal#    "Button"
Produkt#    antal#    "Button"
____________________________________________________

Noter "textbox"

"button" (Det er en send knap, hvor den sender en mail med de produkter man har valgt).

Så det hele kommer til at være på een side. Den skal bare have mulighed for at huske "session" lave linierne som listeform, hvor den også generere en button.

Ved ikke om det forklarede det bedre, samt hvilken måde jeg skal bygge det op på. (Det er jo en shoppingCart uden at være en Cart. Ved bare ikke hvordan jeg skal lave det i min asp.net side, samt hvordan jeg generere en button automatisk.
Avatar billede keysersoze Guru
24. august 2009 - 14:32 #3
i så fald er en usercontrol ikke et krav - men kan selvfølgelig stadig være en fordel hvis nu applikationen skal udviddes på et tidspunkt.

Jeg vil ikke mene at du skal hen og lave knapper eller andet dynamisk - hvis du tager en data-kontrol, fx et ListView, skal du i den definere design (tekster, knapper...) og binde dine data til den, herefter handler det "kun" om at programmere den egentlige funktionalitet (altså slet) på knappens onclick.
Avatar billede Slettet bruger
26. august 2009 - 07:58 #4
Tak :-) Kommer du med et svar...

Har lige et tillægs spørgsmål hvis du vil hjælpe med det.

Alle de linier jeg får ned på siden mine orderline (Har deres egen storeprocedure i sql "orderlines. De skal når jeg trykker send sendes over i en anden storeprocedure "order", hvor personen som laver bestillingen, dato og et ordre ID tilføjes. Hvordan skriver jeg det.

I mit datalayer
*****************************************************************
//CreateOrderline
        public static Int32 CreateOrderLine(OrderLine order)
        {
            Int32 orderId = -1;
            using (SqlCommand cmd = GetPreparedCommand("SPC_CreateOrderLine"))
            {
                cmd.Parameters.AddWithValue("@orderId", order.OrderId);
                cmd.Parameters.AddWithValue("@productIdy", order.ProductId);
                cmd.Parameters.AddWithValue("@quantity", order.Quantity);
                orderId = Convert.ToInt32(cmd.ExecuteScalar());
            }
            return orderId;
        }
******************************************************************
//GetOrderLines
        public static OrderLine GetOrderLine(Int32 orderId)
        {
            OrderLine order = null;
            using (SqlCommand cmd = GetPreparedCommand("SPC_GetOrderLine"))
            {
                cmd.Parameters.AddWithValue("@id", orderId);
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                    order = new OrderLine(reader);
                reader.Close();
                cmd.Connection.Close();
            }
            return order;
        }
******************************************************************

//CreateOrder
        public static Int32 CreateOrder(Order order)
        {
            Int32 orderId = -1;
            using (SqlCommand cmd = GetPreparedCommand("SPC_CreateOrder"))
            {
                cmd.Parameters.AddWithValue("@orderId", order.Id);
                cmd.Parameters.AddWithValue("@salespersonId", order.SalesPersonId);
                cmd.Parameters.AddWithValue("@notes", order.Notes);
                cmd.Parameters.AddWithValue("@customer", order.Customer);
                cmd.Parameters.AddWithValue("@created", order.Created);               
                orderId = Convert.ToInt32(cmd.ExecuteScalar());
            }
            return orderId;
        }


Den sidste i min SP, skal jeg også have mine orderlines ind, så man kan hente en historik frem. Men hvordan tilføjer jeg det parameter?
Avatar billede keysersoze Guru
26. august 2009 - 18:30 #5
hvis jeg forstår det korrekt; de skal vel ikke overføres - ligger de allerede i databasen skal de jo bare behandles direkte i din Stored Procedure.
Avatar billede Slettet bruger
28. august 2009 - 08:35 #6
Det var lige det de skulle :D

Kommer du med et svar :) Så du kan få point
Avatar billede keysersoze Guru
28. august 2009 - 17:49 #7
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester