35 messaggi dal 04 gennaio 2008
Buongiorno a tutti...

Nella mia pagina aspx succede una cosa strana.
Ho una dropdownlist che è un AsyncPostBackTrigger di un update panel tramite l'evento SelectedIndexChanged. Quando cambio il valore nella tendina mi si presenta un errore Nullreference (alert sollevato da ajax..object reference not set to...)
per capire meglio l'errore ho fatto quanto segue:

-Aggiunto un asp button
-Tolto l'autopostback dalla dropdown
-Tolta la dropdown dall'elenco dei triggers del panel ajax
-Aggiunto il click del button all'elenco dei triggers del panel ajax

Fatto questo nel momento in cui clicco il pulsante tutto funziona senza alert di errore. Chiaramente il postback ora avviene solo al click del bottone e non al cambiamento del valore nella dropdown.
Ho scoperto che il problema è dato da un componente esterno (steema teechart) inserito nella pagina...nel momento in cui commento il codice in cui viene utilizzato il compnenete le cose funzionano in entrambi i modi.

La domanda è: esiste qualche differenza tra le due soluzioni proposte relativamente al postback della pagina?!?

Grazie dell'attenzione
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

molto strano non ci sono differenzze tra le due casistiche, sicuro che non ci siano errori nel codice?

Byez
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
35 messaggi dal 04 gennaio 2008
Ciao e grazie per la risposta,

anche io pensavo che non ci fossero differenze ma è l'unica cosa che mi è venuta in mente.
Errori nel codice non ce ne possono visto che di codice non ce ne è

O meglio...all'interno dell'update panel ho due GridView che vengono aggiornate al variare del contenuto della dropdownlist.

Le griglie sono associate a una SqlDataSource.

Su quest'ultima è presente un ControlParameter che va a pescare il SelectedValue della DropDownList.

Quindi di codice io non ne ho scritto...fanno tutto questi simpatici oggettini...è quello che non capisco.
Il problema sembra proprio il postback anche se è assurdo...anche perchè se elimino l'update panel tutto funziona... mah!
prima hai rammentato anche un componente esterno teechart, se togli lui?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
35 messaggi dal 04 gennaio 2008
ciao,

come ho detto se tolgo quel componente il tutto funziona.
In ogni caso sembra strano anche questo in quanto il componente risiede al di fuori dell'update panel e quindi nel refresh parziale a cui la pagina è sottoposta quando cambia il valore della dropdown non viene toccato...
E cmq...visto che il problema sembra legato a lui in combinazione con l'utilizzo di ajax (anche se, ripeto, il compoente è fuori dal panel ajax) non capisco perchè dia problemi con l'autopostback della dropdown e non con il postback generato dal bottone... Mistero!
Sono riuscito ad aggirare il problema utilizzando una select html in combinazione con una textbox e un pulsante entrambi asp e nascosti.
In buona sostanza all'evento client SelectedIndexChanged della select copio il valore corrente nella textbox e poi simulo il click (il tutto con una fnz javascript) del asp:button in modo da effettuare il postback.
La griglia viene filtrata da codebehind recuperando il valore della textbox asp.
Lo so è macchinoso, fa schifo ma funziona
In ogni caso non mi capacito ancora del perchè si sia presentato questo problema.
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

anche se il componente è al di fuori, questo viene processato normalmente, ciò che cambia è che poi in fase di output non viene rinviato alla pagina.

HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
35 messaggi dal 04 gennaio 2008
sm15455 ha scritto:
Ciao,

anche se il componente è al di fuori, questo viene processato normalmente, ciò che cambia è che poi in fase di output non viene rinviato alla pagina.

HTH
.


Ah..questo mi mancava..quindi potrebbe essere che il compnente sollevi l'eccezione anche se di fatto lato client non subisce alcuna modifica in quanto non viene spedito..
Se è così dev'essere un eccezione interna del componente perchè al postback non tocco in alcun modo quell'oggetto. Viene toccato solo al pageload dentro un bel If Not IsPostBack...
Magari un problema di rendering?...anche se non viene spedito?

Aggiornamento:

ho provato ad abilitare l'ordinazmento sulle gridview...stesso messaggio di errore. Il click del bottone continua a funzionare...
Modificato da roska2184 il 01 luglio 2008 14.10 -
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

se è sempre quel controllo allora c'è qualcosa che se non gli imposti lui si incavola un pochino, prova per scrupolo a levare il codice dall'if del postback, mettilo fuori e vedi se funziona tutto
HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.