Toon posts:

[ASP.net / C#] - OnInit() wordt aangeroepen bij buttonclick?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een ASP-pagina met daarop een button. Als ik op deze button klik, wordt eerst OnInit() aangeroepen :?. Er wordt nl. een methode aangeroepen die een databasequery uitvoert en nogal veel tijd kost. De button zorgt ervoor dat de pagina sluit en dan is die query niet meer echt nodig...

Via Breakpoints kwam ik hierachter.

Als ik bij events kijk, zie ik daar alleen 1 staan voor Page_load. Op google heb ik gezocht op OnInit called unwanted, maar dan vind je niet echt iets.

Code lijkt me niet echt nodig, in de button_click staat de code om een page te sluiten (mbv javascript) en aan OnInit heb ik verder niets veranderd (behalve een regel toegevoegd die de databasequery laat uitvoeren).

Ik zou wel beter willen zoeken, maar ik zou niet weten op welke keywords... Alvast bedankt!

  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Kijk eens naar de events die uitgevoerd worden als je een asp.net pagina laadt.

De Init wordt zeker uitgevoerd, als ik het me nog goed herinner zit het zo:
page_init
page_load
event die de postback veroorzaakt.

Dat staat zeker ergens in de MSDN doc's.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja oke, bij het initialiseren hoort OnInit ook aangeroepen te worden. Echter, als ik op de button klik, zou in theorie alleen OnPageLoad moeten worden aangeroepen? En niet OnInit()? Waarom zijn er anders twee events hiervoor...

  • cannibal
  • Registratie: Maart 2001
  • Laatst online: 21:55
Er is een hele event-hierarchy bij het aanroepen van een pagina.
Zodat je voor of na bepaalde acties van de pagina zaken kunt uitvoeren.

Om je query maar 1x uit te voeren kun je eens zoeken op Page.IsPostBack.
Hiermee kun je dat sturen.

Waarschijnlijk is het wel goed voor je als je verder gaat met programmeren om je eens wat verder in te lezen in asp.net.

  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Waarom ?
Omdat je pagina toch volledig opnieuw opgebouwd wordt als je een postback doet ?

Zoek eens in de MSDN op 'Web Forms page processing', en lees dat artikel eens.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik begin het systeem iets beter te begrijpen, maar het is misschien wel even beter idd dat ik wat documentatie lees. Heb je nog tips? Ik zal ook even zoeken op msdn.

Ah, whoami, bedankt :)

/Edit het werkt nu wel idd, als Page.Postback false is wordt de query uitgevoerd :).

[ Voor 26% gewijzigd door Verwijderd op 21-09-2005 10:58 ]


Verwijderd

Topicstarter
Ahh, bedankt! Snap het nu helemaal :) Had ik dat maar eerder gelezen, was dit topic ook niet nodig geweest. Mijn excuses, topic kan dan eigenlijk ook wel dicht.

@Whoami: Bedankt voor de support hier elke keer _/-\o_

[ Voor 16% gewijzigd door Verwijderd op 21-09-2005 11:13 ]

Pagina: 1