[ASP.NET] Protected variabelen verliezen waarde

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

  • _Rob
  • Registratie: Januari 2003
  • Laatst online: 17-04 08:49
Wanneer ik protected variabelen delcareer die geldig zijn voor het gehele document wordt de waarde van de variabel gereset nadat er een functie/button klik wordt uitgevoerd.

Bovenin declareer ik ze:
Visual Basic .NET:
1
2
3
4
5
Public Class BedrijvenLijst
    Inherits System.Web.UI.Page
    Protected ZichtbaarPagina As Integer
    Protected HuidigePagina As Integer
    Protected TotaalPagina As Integer


Wanneer ik bijvoorbeeld de knop klik die naar een functie verwijst wordt alles gereset.

Visual Basic .NET:
1
2
3
4
5
6
Private Sub nextBtn_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles nextBtn.Click
    If TotaalPagina > HuidigePagina + ZichtbaarPagina Then
        HuidigePagina = HuidigePagina + ZichtbaarPagina
    End If
  BindBedrijven()
End Sub


Hoe kan ik ervoor zorgen dat de variabelen hun waarde behouden? Wat is de juiste manier om dit te doen?

Alvast bedankt! :)

[ Voor 7% gewijzigd door _Rob op 05-10-2004 16:39 ]

Webdeveloping... -counts to 10- Sigh...


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Ik neem aan dat in de Page_Load de variabelen geset worden? Neem dan de volgende if clause op:

code:
1
2
3
If Not Page.IsPostBack Then
    'Vul variabelen
End If


Heeft mij in het begin ook heel wat kopzorgen bezorgd :)

Certified smart block developer op de agile darkchain stack. PM voor info.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet er wel rekening mee houden dat ASP.NET een framework is dat met het HTTP protocol werkt. Dit is een Stateless protocol. Als je toch wil dat er tussen de requests door gegevens bewaard blijven moet je gebruik maken van een van de daarvoor bedoelde opties zoals: ViewState, Session, Application, Cookies, Cache en andere.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Viewstate staat standaard aan. Ik denk dus eerder dat het hem zit in het vullen van de variabelen On Load, dat werkt ie dus ook weer af na een postback waardoor je weer terug bij af bent.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • _Rob
  • Registratie: Januari 2003
  • Laatst online: 17-04 08:49
Gunp01nt schreef op 05 oktober 2004 @ 16:42:
Ik neem aan dat in de Page_Load de variabelen geset worden? Neem dan de volgende if clause op:

code:
1
2
3
If Not Page.IsPostBack Then
    'Vul variabelen
End If


Heeft mij in het begin ook heel wat kopzorgen bezorgd :)
In principe zou ik dit normaliter gebruiken, echter is het de bedoeling dat de variabelen in het hele (code) document geldig zijn. Ze staan dus boven de Page_Load gedeclareerd.

Webdeveloping... -counts to 10- Sigh...


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Kan dat wel zo? Je pagina moet toch zelf die Class inheriten? Anders verlaten die variabelen natuurlijk nooit de scope van de Page_Load.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • _Rob
  • Registratie: Januari 2003
  • Laatst online: 17-04 08:49
Tja, dat zal wel de reden zijn waarom ze worden gereset ;)

Het lijkt alsof de pagina een postback door zijn strot krijgt.

Webdeveloping... -counts to 10- Sigh...


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Dat is ook zo op het moment dat je een knop aanklikt.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21-05 16:50

gorgi_19

Kruimeltjes zijn weer op :9

_Rob schreef op 05 oktober 2004 @ 16:59:
Tja, dat zal wel de reden zijn waarom ze worden gereset ;)

Het lijkt alsof de pagina een postback door zijn strot krijgt.
Da's een kenmerk van ieder serverside control, dat ze een postback veroorzaken. Oplossing is controleren op Page.IsPostback. Dit probleem is echter al vaker deze week naar voren gekomen; de oplossing ook vrij uitgekauwd, dus doe ik deze dicht :)

[ Voor 23% gewijzigd door gorgi_19 op 05-10-2004 17:57 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.