Avatar billede pumpin Nybegynder
17. november 2005 - 20:00 Der er 10 kommentarer og
1 løsning

indkøbskurv

hej alle.

jeg har i længer tid forsøgt at lave en mindre webshop med inkøbskurv men uden held har nemlig kun fundet VB eller alm ASP guides til hvordan de laves. er der nogen som kender til en tutorial som forklare dette emne på en forstålig måde gerne med C# ???

hvad jeg PT har prøvet er at oprette et DataTabel og så sætte den ind i en session for at holde på data'erne men jeg får aldrig rigtig sat det ind og det ender som relt med at jeg ikke kan få mere end vare vist..

har også prøvet at proppe hver vare ind i hver sin session og så ledt efter en måde at tælle op hvor mange jeg har så jeg ved hvor mange vare jeg skal indsætte i kurven og sener i DB som en ordre.. men heller ikke det er løkkedes i nu

så derfor vil jeg gerne høreom nogen har en god guide.. et godt script med comments what ever :D

eller evt en lille vedledning i hvordan en *kurv laves af de store drenge fordi jeg tror måske at det vil hjælpe at vide hvordan de gør så man nemmer kan komme i den rigtige retning
Avatar billede arne_v Ekspert
17. november 2005 - 20:20 #1
en ArrayList (eller en type safe collection) af instanser af OrdreItem klassen
gemt i Session ??
Avatar billede pumpin Nybegynder
17. november 2005 - 22:21 #2
jeg er ikke så pisse skarp til arrays.. så hvis jeg evt kunen få dig til at uddybe det med at add flere values ( id's ) til en session.. fordi jeg må indrømme jeg er helt blank for hvordan det skal gøre er bekent med sessions bare til at tjekke om bruger er logget ind og den slags men ikke den her slags.. så jeg skal nok bruge lidt mere børne velig hjælp end de 2 liner :)
Avatar billede pumpin Nybegynder
17. november 2005 - 22:30 #3
det jeg i bund og grund er ude efter er en måde at tage det ID(det id felt jeg har i min database) jeg har selected i mit formView og stoppe ned i en session og så ud fra det tal is session lave et udtræk med et WHERE clause.

men hvordan for jeg obevaret flere vare i en session og bygger en insert string påbaggrund af den. i så fald hvordan?

eller skal jeg have flere sessions og så tælle dem sammen og lave insert påbagrund af det .. i så fald hvordan?
Avatar billede arne_v Ekspert
17. november 2005 - 23:06 #4
Jeg prøver at lave et eksempel
Avatar billede arne_v Ekspert
17. november 2005 - 23:40 #5
jeg er faktisk ikke nogen ørn til den slags men følgen virker tilsyneladende
Avatar billede arne_v Ekspert
17. november 2005 - 23:40 #6
<%@ Page Language="C#" Inherits="E.SessionFun" %>
<%@ Import Namespace="E" %>
<html>
<head>
<title>Add to basket</title>
</head>
<body>
<h1>Add to basket</h1>
<form id="f" method="post" runat="server">
Name: <asp:TextBox id="name" runat="server"/>
<br>
Quantity: <asp:TextBox id="q" runat="server"/>
<br>
<asp:Button id="add" text="Add" runat="server"/>
<br>
<asp:DataList id="basket" Border="True" BorderColor="Black" runat="server">
    <ItemTemplate>
        <%# ((OrderItem)Container.DataItem).Name %>
        </td><td>
        <%# ((OrderItem)Container.DataItem).Q %>
    </ItemTemplate>
</asp:DataList>
</form>
</body>
</html>
Avatar billede arne_v Ekspert
17. november 2005 - 23:40 #7
using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace E
{
    public class OrderItem
    {
        private string name;
        private int q;
        public OrderItem() : this("", 0)
        {
        }
        public OrderItem(string name, int q)
        {
            this.name = name;
            this.q = q;
        }
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
        public int Q
        {
            get
            {
                return q;
            }
            set
            {
                q = value;
            }
        }
    }
    public class SessionFun : Page
    {
        protected TextBox name;
        protected TextBox q;
        protected Button add;
        protected DataList basket;
        public void Page_Load(Object src, EventArgs e)
        {
            ArrayList basketlist = (ArrayList)Session["basket"];
            if(basketlist == null)
            {
                basketlist = new ArrayList();
                Session["basket"] = basketlist;
            }
            if (Page.IsPostBack)
            {
                basketlist.Add(new OrderItem(name.Text, int.Parse(q.Text)));
            }
            basket.DataSource = basketlist;
            basket.DataBind();
        }
    }
}
Avatar billede dr_chaos Nybegynder
18. november 2005 - 06:14 #8
du bruger vel ikke asp.net 2.0 ?
fordi der er indbygget en kurv man kan bruge.
Avatar billede dr_chaos Nybegynder
18. november 2005 - 06:18 #9
undskyld den er ikke indbygget men den er nem at opbygge.
Du kan evt.prøve at kigge her. Hvis det har interesse.
:
http://64.233.183.104/search?q=cache:Bph7ykY13BYJ:msdn.microsoft.com/library/en-us/dnvs05/html/userprofiles.asp+asp.net+2.0+profile+shopping&hl=da&client=firefox-a

ellers kan du bruge arne_v's foreslag :)
Avatar billede pumpin Nybegynder
24. november 2005 - 17:04 #10
det er sku liret arne jeg har dog ikke helt fået den til at virke men jeg har fået lært en masse om classes og namespaces.. der er dog lige en ting

private string name;
private int q;

hvorfor er de private ? nogen bestemt grund

fyr et svar
Avatar billede arne_v Ekspert
24. november 2005 - 17:07 #11
det anses som god skik og brug at have private fields og public properties

og 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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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