Avatar billede beef12 Nybegynder
17. april 2005 - 00:02 Der er 9 kommentarer og
2 løsninger

oprette sessions m.m

Jeg er i gang med en skoleopgave fir vi skal lave en simpel web-butik. Det er lykkedes mig at få skrevet de varer vi har på siden, men nu mangler jeg at få lavet en indkøbskurv. Dvs brugeren kan se en liste af varer og ved hver af dem er der en køb knap. Hvis jeg så genererer disse knapper når jeg hentes mine rækker fra Db'en, hvordan kan jeg lave de event_handlers der nu skal til at oprette en session (til at tælle op hvor mange varer man har købt), når jeg ikke kender dem på forhånd.

Sådan skriver mine varer ud på siden:

while( c.rdr.Read())
{
HtmlTableRow row1 = new HtmlTableRow();
HtmlTableCell cell1 = new HtmlTableCell();
cell1.InnerText = c.rdr["item_name"].ToString();
row1.Cells.Add(cell1);
cell1 = new HtmlTableCell();
cell1.InnerText = c.rdr["item_type"].ToString();
row1.Cells.Add(cell1);

cell1 = new HtmlTableCell();
cell1.InnerText = c.rdr["price"].ToString();
row1.Cells.Add(cell1);

items.Rows.Add(row1);
                   
}
c.rdr.Close();



Hvad skal jeg gøre? Er lidt på herrens mark.
Avatar billede burningice Nybegynder
17. april 2005 - 00:24 #1
du laver en enkelt metode og bruger den som eventhandler for alle dine knapper.

Button btn = new Button();
btn.Text = "Køb";
btn.Click += new EventHandler(dinMetode);
Avatar billede burningice Nybegynder
17. april 2005 - 00:24 #2
du kan evt. koble et CommandArgument der indeholder varens idnummer ell. lign for at kende forskel på de forskellige knapper
Avatar billede beef12 Nybegynder
17. april 2005 - 09:46 #3
okay, du vist fat i den lange ende. Jeg tager item_id med i sql sætning, så det kunne jeg godt gøre. Jeg er dog ikke så skarp til at kode i det her asp.net endnu. Kan du specificere lidt nærmere. Hvordan skal "dinMetode"-metoden se ud?
Avatar billede snepnet Nybegynder
17. april 2005 - 10:57 #4
den skal bare overholde signaturen (object sender, EventArgs e) - så for eksemplet skyld kunne den være sådan her :

private void dinMetode(object sender, EventArgs e)
{
}

hvis du så - som fessoren skriver - vil lægge nogle oplysninger på knapperne der fortæller lidt om hvad der skal ske, kan du gøre sådan her :

Button btn = new Button();
btn.Text = "Køb";
btn.CommandName = "SOMECOMMAND";
btn.CommadArgument = "SOMEARGUMENT";
btn.Click += new EventHandler(dinMetode);

og dem kan du så fiske frem i dinMetode sådan her :
(her med en switch, hvis du kan have forskellige commandnames).

private void dinMetode(object sender, EventArgs e)
{
  Button btn = (Button)sender;
  switch(btn.CommandName)
  {
    case "SOMECOMMAND" :
      // gør noget iht dit commandargument :
      DoSomething(btn.CommandArgument);
      break;
  }
}

mvh
Avatar billede burningice Nybegynder
17. april 2005 - 11:53 #5
der var en der var lidt hurtigere på tasterne ;) hej snepnet

det er ikke sår'n når man sidder og ser Snurre Snups Søndagsshow, så kan man ikke følge med på eksperten også ;)
Avatar billede snepnet Nybegynder
17. april 2005 - 11:57 #6
hej fessor.... kunne se på tiden at du sikkert så snurre, så jeg ville lige aflaste dig lidt ;o)
mvh
Avatar billede burningice Nybegynder
17. april 2005 - 12:12 #7
ja... jeg bliver nødt til at lade mig friste. Jeg kommer aldrig på top 3 i denne kategori på den måde :P
Avatar billede snepnet Nybegynder
17. april 2005 - 12:21 #8
hehe .... du er da på top3 om et øjeblik :o) odegaard er jo ikke så aktiv så det gør noget ;o)
Avatar billede beef12 Nybegynder
19. april 2005 - 17:55 #9
tak skal i ha begge to. Vil i dele points? Send svar, så får 30 hver. Er det ok?
Avatar billede burningice Nybegynder
19. april 2005 - 18:07 #10
fint nok for mig
Avatar billede snepnet Nybegynder
20. april 2005 - 09:14 #11
også med mig
mvh
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