venerdì 22 gennaio 2010

SelectedIndexChanged doppio ...

Ma brava mamma microsoft... AJAXTOOLKIT di stoca... !! Questa volta mi avete fatto arrabbiare e tanto... si perchè il potenziale danno sarebbe stato bello grosso.

La stituazione è semplice
a) In una web application aggiungete la reference al AjaxToolKit, bene bravi...
b) aggiungete un web form ( bravissimi )
c) ora aggiungete un update panel
d) aggiungete quindi al upPanle una grid ( fatto? )
e) aggiungete una commandField ( tipo un select command )
f) ed ora gestite sia l'evento di SelectedIndexChanged o il RowCommand o entrambi.
g) e per concludere mettete due simpatici break nel primo e/o nel secondo evento ...

Che cosa ottenete ???
che entrambi gli eventi si scatenano due volte....

Supponete che RowCommand si debba gestire un insert... che cosa potrebbe succedere ??
che al posto di una insert te ne infila due...

BENE .. e tutto questo è documentato ?? PARE di si .. ma non nel toolkit e non sul sito di MS,
che per altro conferma il problema.. ma non suggerisce una vera soluzione... arg..

E quindi ci pensiamo ancora una volta noi .. rassegnati e con le palle a terra..

if (Session[this.ID + "_justDone"] == null)
{
.... codice di gestione dell 'evento a vostra scelta...
Session[this.ID + "_justDone"] = 1;
}
else
{
Session[this.ID + "_justDone"] = null;
}

bello ne'?? mmmm un capo lavoro ... e meno male che sono in test... e meno male che me ne
sono accorto !!

Per altro pare che fra noi developers italiani questo "successone" ancora non si sia verficato...
cmq io lo documento e preparatvi a gestirlo !!

dimenticavo è possibile che tutti gli oggetti che generano postback siano soggetti al double Fire... !!


ambhe'

Nessun commento: