Si Gluck, hai capito tutto perfettamente.
Specifico che: il login può essere fatto dalla master ma, in quel momento, posso anche trovarmi non necessariamente nella content page del carrello.
Dopo il login effettuato dalla master page, viene chiamato ovviamente il Page_Load della content (che in questo momento non mi serve ancora perchè mostra dei dati "vecchi" in quanto non è stata ancora effettuata la procedura di accorpamento delle righe ordine di cui ho parlato nei precedenti post) e poi l'evento click del bottone login (dove effettivamente avviene, lato database, l'accorpamento).
Mi fermo qui al solito:
ho messo il breakpoint sulla riga da te indicata e, premendo F8, finisco sull' GrdCarrello_RowDataBound dove svolgo le operazioni di formattazione della griglia (aggiunta pulsante di modifica/cancellazione riga) ma ho la griglia già vuota perchè la tipologia di righe all'interno della griglia è: e.Row.RowType = EmptyDataRow {5}.
Ho tempestato tutti i metodi/eventi della pagina di breakpoint e ti assicuro che non passa da nessun'altra parte: il primo (e unico) è il RowDataBound.
Dopo l'esecuzione del RowDataBound si ritorna al controllo del login che chiama il metodo Update che provvede ad aggiornare l'update Panel. Aggiornamento che effettivamente riesce ma i dati in griglia non sono coerenti.
Come puoi vedere non è presente l'istruzione response.redirect, altrimenti non sarebbe giustificata la presenza di ajax e dei suoi update panel, ma richiamo solo il metodo Update dell'Update Panel.
Per il codice che mi avevi richiesto, ti allego le parti più significative:
Page_Load di Shopping-cart.aspx
If Not Page.IsPostBack Then
'valorizzo le griglie
riempigriglie()
'altre operazioni...
End If
Sub Riempigriglie:
Public Sub riempigriglie()
'Verifiche varie e operazioni lato database (omaggi, righe spesa ecc)
'Riempio griglia dettaglio
cQuery = query che estrae le righe ordine
riempigriglia(GrdCarrello, cQuery, "OrdRig")
'altre operazioni sul database (che funzionano correttamente!!)
End Sub
Grazie!