Avatar billede Slettet bruger
21. juni 2006 - 08:30 Der er 4 kommentarer og
1 løsning

VB.NET - problemer med viewstate, knap og pageload

Jeg håber ikke jeg gør noget forkert ved at sætte point så højt, men det er 3. gang jeg oprette dette spm. Jeg har ikke tidligere fået nogen svar og jeg kunne virkelig godt bruge noget hjælp.

Jeg tror det er et spm. om at jeg skal have page_load til at køre efter "Sub FjernHandling". Jeg håber en kan genneskue hvordan jeg kommer igennem med dette.

Her er hvad jeg tidligere har skrevet:

Hej

Jeg har et asp:panel, hvor jeg kan tilføje textboxe ved at trykke på en knap. Det virker fint, men jeg har en anden knap, som skal fjerne den sidste textbox og den virker kun hvis jeg trykke to gange på den. Jeg tror at det er fordi at det er fordi at følgende kode ikke bliver aktiveret:

Sub Page_Load()


        'Opstarter Handlingspanel
        Dim i As Integer
        LblHandling.Text = ""
        If Not IsPostBack Then
            ViewState("HandlingsCount") = 1
        End If
        i = ViewState("HandlingsCount")
        For i = 1 To ViewState("HandlingsCount")
            AddHandling(i)
        Next

        'AfslutPanel ikke synligt
        AfslutPanel.Visible = False
    End Sub

Knapperne:

Sub AddHandlingsCount(ByVal s As Object, ByVal e As EventArgs)
        ViewState("HandlingsCount") += 1
        AddHandling(ViewState("HandlingsCount"))
End Sub

Det er denne knap der ikke virker:
Sub FjernHandling(ByVal s As Object, ByVal e As EventArgs)
        If ViewState("HandlingsCount") > 1 Then
            ViewState("HandlingsCount") -= 1
        Else
            LblHandling.Text = "Den sidste handlng kan ikke fjernes"
        End If
End Sub
Avatar billede Slettet bruger
21. juni 2006 - 10:33 #1
Jeg tror at det er fordi at page_load kører før der "sub fjernHandling" og derved bliver viewstate("HandlingsCount") ikke én mindre før page_load kører??
Avatar billede Slettet bruger
21. juni 2006 - 12:04 #2
Avatar billede thrytter Nybegynder
21. juni 2006 - 13:13 #3
viewstate("HandlingsCount") bliver faktisk en mindre i FjernHandling, men da du kun kalder AddHandling i Page_Load ser du kun ændringen før 2 tryk på knappen.

Vil det ikke hjælpe med flg. i din FjernHandling Sub

If ViewState("HandlingsCount") > 1 Then
  ViewState("HandlingsCount") -= 1
  AddHandling(i)
Else
  LblHandling.Text = "Den sidste handlng kan ikke fjernes"
End If
Avatar billede Slettet bruger
21. juni 2006 - 13:19 #4
Hej. Tak for svaret.

Har du et forslag til hvordan det kan løses - gerne et helt andet alternativ??
Da jeg blev lidt utålmodig, oprettet jeg et nyt spm - venligst se:
http://www.eksperten.dk/spm/716736.
Avatar billede neoman Novice
21. juni 2006 - 18:47 #5
har lagt et forslag til dig i 716736
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