Ripropongo un problema già segnalato da Ema.X in VisualBasic, che io mi ritrovo in C#...

Ho una TextBox visualizzata dentro un EditItemTemplate di un DataList.
Ci inserisco il nuovo valore (che sostituirà quello presente nel database) e premo il tasto "Update", (con il commandname impostato a "Update" etc, tutto normalmente). La funzione update fa l'aggiornamento sul database con una semplice istruzione SQL.
Il punto è il recupero del valore immesso nel TextBox: come diavolo si recupera?
Se provo con:

string price = ((TextBox)E.Item.FindControl("Prezzo")).Text;

dove "Prezzo" e l'id della textbox il risultato è il valore precedente, quello che già c'era!

La cosa strana è che tutto il resto è corretto, infatti se faccio invece:

string price = ((TextBox)E.Item.FindControl("Prezzo")).ToString() ;

la stringa risultante è ovviamente System.Web.UI.WebControls.TextBox

Qualcuno mi aiuti! Come si fa a recuperare sto' cacchio di valore dalla textbox? ovunque ho trovato sempre e solo l'istruzione precedente, ma non funziona!
Vi prego...