Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Textbox in templatefield restituisce il valore precedente
martedì 29 marzo 2011 - 11.13
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
oil2percento
Profilo
| Newbie
4
messaggi | Data Invio:
mar 29 mar 2011 - 11:13
Buongiorno, sto cercando di realizzare un carrello elettronico, per cui ho una gridview collegata a un dbaccess con il classico pulsante del carrello. Nell' itemtemplate di un campo templatefield della gridview ho inserito una textbox, con valore predefinito = 1 che definisce la quantità di acquisto dei singoli prodotti. L'utente la possibilità quindi di cliccare nella textbox per inserire una quantità diversa da 1. Fin qui tutto bene, il problema nasce nel momento in cui faccio click sul pulsante carrello, in quanto la casella textbox mi restituisce sempre il valore predefinito, cioè 1.
Con queste codice intercetto la textbox e assegno il suo valore ad una variabile :
Dim riga As GridViewRow = GridView1.Rows(Convert.ToInt32(e.CommandArgument))
Dim txtquantita As TextBox = DirectCast(riga.FindControl("TextBox1"), TextBox)
miavariabile = txtquantita
Ho provato ad inserire il codice nell'evento rowcommand e selectedindexchanged ma la situazione non cambia.
Qualcuno può illuminarmi?
Grazie per l'attenzione.
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
gio 31 mar 2011 - 12:02
Per caso la TextBox è read only ? Non ci manca la proprietà Text dopo la variabile di tipo TextBox ?
Sk
oil2percento
Profilo
| Newbie
4
messaggi | Data Invio:
sab 2 apr 2011 - 13:51
Ciao, la proprietà readonly è impostata su false, per quanto riguarda il .text ho dimenticato di scriverlo qui nel post, ma effettivamente nel codice c'è. Io credo che il problema sia dovuto al fatto che nel momento in cui si fa click sul pulsante per salvare i dati la pagina viene ricaricata e quindi la textbox riprende il suo valore predefinito cioè 1. E' la prima volta che mi avvicino allo sviluppo web, e quindi non comprendo bene il funzionamento di molte cose, però se ho capito bene alla pressione del tasto non viene eseguito il codice associato al click, ma viene prima ricaricata la pagina e poi eseguita la routine dell'evento click. Mi puoi confermare che è così o sono sulla strada sbagliata e se è così come si può ovviare a questo inconveniente?
Ciao e grazie per l'attenzione.
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
lun 4 apr 2011 - 11:57
1573_sample01.zip
L'evento Load dell'oggetto Page viene eseguito sicuramente prima dell'evento relativo ad un bottone.
Quando intendi il testo predefinito intendi aver assegnato un valore alla proprietà Text del TextBox che hai inserito nella pagina. Ti allego una pagina aspx con una casella di testo ed un bottone. Io uso C#, ma in questo contesto non determina alcuna diff.
Sk
oil2percento
Profilo
| Newbie
4
messaggi | Data Invio:
lun 4 apr 2011 - 14:49
1574_Immagine.zip
Ciao ho visto l'esempio che mi hai inviato e tutto funziona bene. Ti allego e ti commento delle immagini che spero possano darti un'idea più chiara della situazione. Nella prima immagine puoi vedere la griglia, la text box che vedi accanto all'icona carrello è la txt in questione, nella seconda immagine vado nella modalità modifica del templatefield, nella terza immagine vedi la txtbox selezionata e a destra nell'elenco proprietà assegno come valore 1. Nella quarta immagine puoi vedere il funzionamento, inserisco il valore 5 nella txtbox clicco sul carrello, il valore della textbox viene memorizzato in una variabile session quindi si apre la pagina successiva (ultima immagine) dove si vede il riepilogo del carrello e come puoi notare la quantità acquistata è 1 e non 5. Visto che sei qui avrei un altro dubbio, e cioè io scrivo tutto in VB e non ho scritto una sola riga in ASP. Allora volevo sapere se questo può andare bene o se mi preclude qualcosa e devo iniziare a masticare qualcosa di asp.
Ciao e davvero grazie per l'attenzione.
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
mer 6 apr 2011 - 11:28
Ma quando visualizzi l'ultima pagina (il riepilogo del carrello) il valore della quantità lo leggi dalla variabile di sessione ?
Inoltre in fase di debug hai verificato che nell'assegnamento alla variabile di sessione ci finisca correttamente il valore giusto ?
Per quanto riguarda il tuo ultimo dubbio sull'uso del ASP e del VB non ho ben capito cosa intendi.
Ciao
Sk
oil2percento
Profilo
| Newbie
4
messaggi | Data Invio:
lun 11 apr 2011 - 01:52
Ciao, si il valore nella pagina del riepilogo carrello viene letto dalla variabile di sessione che è sempre 1, cioè il valore predefinito della textbox.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !