27. oktober 2002 - 15:46Der er
24 kommentarer og 1 løsning
To knapper på samme form...
Hej
Jeg mangler lidt input til hvordan jeg kan strikke en løkke samme - problemet ligger i hvordan jeg skelner mellem mine to knapper, hvor jeg enten gør det ene eller det andet, som aktiveres ved eventuel postback. Det er sikkert ikke særligt svært - dog åbenbart for mig:-)
*************************'
If Page.IsPostBack Then If "jeg har trykket på knap 1" Then kode der afvikles Elseif "jeg har trykket på knap 2" Then kode der afvikles End if
Jeg har en arraylist som jeg skal henholdsvis tilføje/slette i - jeg kan ikke tilgå arraylisten fra en sub. Det er vist egentligt det der er problemet.
Du kan sagtens bruge den samme onClick-funktion (eller page_load for den sags skyld), og så teste på hvilken af knapperne der blev trykket på (vha. sender-objektet). Men simons løsning er nu nok den simpleste løsning.
lars-k: Den nemme løsning er at smide MinArrayList erklæringen uden for Page_Load. Så kan du tilgå den fra hvor som helst. Page_Load bliver kørt først, hvorefter din onclick-sub bliver udført.
...jeg har lavet lidt om i koden. Det startes med en tom liste og der bliver så fyldt på hen af vejen med Sub TilFoej. Det virker som udemærket, jeg får bare min liste nulstillet hver gang jeg vil tilføje et nyt navn.
ja det er da klart. ArrayList bliver jo oprettet på ny, hver gang siden køres. Det er som at lukke et windows-program og starte det igen. Du gemmer jo ikke din arraylist på harddisken, eller lignende steder, hvor du kan hente dem frem igen.
...det er ikke noget vigtigt jeg skal gemme i listen - det er bare et forsøg, som altså må lade kunne sig gøre. Det kan vel sammenlignes med en "indkøbskurv" - der skal bare nogle navne i......
Så benyt session som simon foreslår. Istedet for MinArrayList.Add(InputText.Text) Skriver du Session("Medlemmer").Add(InputText.Text)
Dvs. erstat alle referencer til MinArrayList med Session("Medlemmer"). Du skal dog kun erklære Session("Medlemmer") én gang (tjek for om den er nothing).
Tak for hjælpen odegaard - også til dig Simon, men jeg har givet odegaard point, da det var den prik over i'et jeg manglede. Koden ser sådan ud nu, men jeg mangler lige at strikke noget sammen til at fjerne navne - det skulle jeg nok kunne klare nu.
******************************************
Sub Page_Load
If NOT Page.IsPostBack then Session("Medlemmer") = New ArrayList() End if
End Sub
Sub Tilfoej(sender As Object, E As Eventargs)
Dim strText As String Dim Item As String
Session("Medlemmer").Add(InputText.Text)
For Each Item In Session("Medlemmer") strText = strText & " <br/>" & Item Next
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.