[ASP.NET] AutoPostBack op TextBox een bug ?

Pagina: 1
Acties:

  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 09:07
Ik heb een TextBox en een Button op een ASP.NET WebForm (.NET 1.1, ASP.NET 1.0, VS2003)

Nu heb ik een event op de textchange staan en op de buttonclick (gewoon simpele trace writelines en een breakpoint). De TextBox heb ik AutoPostBack=TRUE gezet.

Ik klik op de button. Nu had ik verwacht dat de buttonclick event zou afgaan nadat de cached events waren afgehandeld (het TextChange event) maar dat gebeurde niet, de breakpoint op de buttonclick ging niet af. Als ik AutoPostBack=False doe op de TextBox gaat ie wel af nadat ik de button klik.

Volgens mij is dit een bug, want volgens de theorie (MCAD) zou eerst de cached events en daarna de postback events behandeld worden door de server. Ik zie dat de cached events wel afgaan maar niet de postback indien ik AutoPostBack op true heb staan op de TextBox...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:49

gorgi_19

Kruimeltjes zijn weer op :9

:?

Het TextChange Event wordt fired nadat de tekst in je textbox is veranderd en het de focus verliest. Als je gelijk er na op een button drukt, krijgt je textbox geen kans om een postback (lees: de bijbehorende javascript) uit te voeren en zal de button de postback uitvoeren.

[ Voor 7% gewijzigd door gorgi_19 op 01-07-2006 15:15 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 09:07
gorgi_19 schreef op zaterdag 01 juli 2006 @ 15:15:
:?

Het TextChange Event wordt fired nadat de tekst in je textbox is veranderd en het de focus verliest. Als je gelijk er na op een button drukt, krijgt je textbox geen kans om een postback (lees: de bijbehorende javascript) uit te voeren en zal de button de postback uitvoeren.
Ik bespeurde al op een website dat er 1 slechts 1 postback event handling op de server per keer plaatsvindt. Dus als autopostback ergens op true staat en je hebt een control die direct een postback doet (zoals een button) dan wordt de directe postback (van de button dus) opgegeten omdat de autopostback van andere controls al net een fractie eerder geweest is.

De oplossing is om bij een button click geen autopostback properties te zetten op andere controls.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:49

gorgi_19

Kruimeltjes zijn weer op :9

DrDelete schreef op zaterdag 01 juli 2006 @ 15:32:
[...]


Ik bespeurde al op een website dat er 1 slechts 1 postback event handling op de server per keer plaatsvindt. Dus als autopostback ergens op true staat en je hebt een control die direct een postback doet (zoals een button) dan wordt de directe postback (van de button dus) opgegeten omdat de autopostback van andere controls al net een fractie eerder geweest is.

De oplossing is om bij een button click geen autopostback properties te zetten op andere controls.
Het kan wel, maar die worden niet gefired. Mocht je het wel willen, dan zal je die expliciet moeten aanroepen in de handle van je click-event van je button.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 21-01 09:10

giMoz

iets met meester...

of met een beetje pech krijg je twee threads waarvan er maar eentje goed loopt:
ook mogleijk met een :
HTML:
1
<input type="submit" onclick="form.submit();">

als je pagina dan een insert doe als de form gepost wordt zal je zien dat je 2 inserts krijgt...


heeft met ooit uren gekost om die te vinden..... :(

Of niet natuurlijk...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:49

gorgi_19

Kruimeltjes zijn weer op :9

giMoz schreef op zaterdag 01 juli 2006 @ 17:37:
of met een beetje pech krijg je twee threads waarvan er maar eentje goed loopt:
ook mogleijk met een :
HTML:
1
<input type="submit" onclick="form.submit();">

als je pagina dan een insert doe als de form gepost wordt zal je zien dat je 2 inserts krijgt...


heeft met ooit uren gekost om die te vinden..... :(
hoe wil je twee threads voor elkaar krijgen, in die situatie?

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1