2010-12-11 7 views
5

Dire che ho 2 UpdatePanels nella pagina e ogni UpdatePanel ha un server uno Button ciascuno. Quando clicco sul primo pulsante e poi sul secondo pulsante e guardo in Firebug, vedo che il secondo postback async non viene attivato fino al completamento del primo.Postback asincroni multipli allo stesso tempo - ASP.NET

Funziona come previsto? La mia comprensione era con i postback AJAX, i gestori di eventi per i pulsanti si innescano simultaneamente.

MODIFICA: Qualcuno può aiutare?

risposta

3

È preciso per quel modello. Probabilmente vuoi i pagemetri.

EDIT: drachenstern dice "finalmente tornato al mio computer"

Ecco la cosa: un UpdatePanel è fondamentalmente una pagina-postback. Può pubblicare solo un evento alla volta. Il modello non comprende due eventi simultanei. Quindi ogni clic è un postback completo. Quindi non inizia l'uno finchè l'altro non finisce.

Così come ho detto, è un comportamento accurato per il modello. Non c'è molto che puoi fare per modificare il modello se non per definire il tuo modello. Non puoi semplicemente volere che il modello faccia qualcosa che vuoi senza essere in grado di definire cosa vuoi che accada.

+1

I gestori di eventi del pulsante devono accedere ad altri controlli. PageMethods deve essere statico –

+0

@DaveS ~ Ho aggiornato la mia risposta. Non ti piacerà la mia risposta che immagino. Il mio consiglio è di capire come rendere statici/stateless i tuoi eventi, altrimenti non penso che funzionerà come vorresti. – jcolebrand

+0

I postback multipli multipli * possono * essere attivati ​​allo stesso tempo - questo si tradurrà in un "passaggio reciproco", ma * può * e * fa * accadere. Il lavoro extra (cioè quello che viene fatto da SharePoint) è necessario per aggiungere un blocco a questo comportamento 'stepping on'. – user2864740