FORM VIEW : Recuperare valori controlli

venerdì 04 maggio 2007 - 13.04

softandarts Profilo | Newbie

Salve a tutti:

ho questo problema: ho utilizzato il form view della microsoft collegato a un sqldatasource (una semplice anagrafica) per poter utilizzare le varie viste dei modelli in edit , insert, ecc...

ora avrei l'esigenza di chiamare da un button inserito nella vista modello Insert del form view, un webservice o una funzione per il calcolo del codice fiscale e mi sono accorto che non riesco a recuperare il testo inserito dall'utente per poterlo passare alla funzione: se scrivo il nome del controllo sotto l'evento lato server del button_click , il controllo non viene riconosciuto da visual studio e quindi non posso recuperare il valore della proprietà .Text (eppure i controlli inseriti sono controlli lato server)

E' possibile fare questa cosa ?

QUALCUNO MI AIUTIIIII !!! :-D

Grazie a tutti
Luca

martinez Profilo | Senior Member

Ciao

Le pagine web aspx non riescono a recuperare controlli figli di altri controlli (padri) come appunto un FormView

per risolvere il problema esiste un'escamotage che è quello di rintracciare attraverso il codice il controllo figlio di un controllo genitore in questo modo:

supposto che tu debba rintracciare un controllo textbox da formview1

strTuaStringa = ((TextBox)FormView1.FindControl("txtIDTuoControlloDaTrovare")).Text.ToString();

spero di essere stato d'aiuto!

Saluti

softandarts Profilo | Newbie

scusa ma non lo avevo specificato prima, ma sto lavorando con Visual Basic e non ho trovato l'attributo .Text dopo FindControl....

(mi dice che text non è un membro di System.Web..UI.Control.....come mai non c'è ???)

grazie molte

ciao

Luca

martinez Profilo | Senior Member

In visual Basic (anche se sono scarso in tale linguaggio) dovrebbe essere:

Dim txt As TextBox = CType(Me.FormView1.FindControl("IDTuoControllo"), TextBox)
Dim tuaVarText = txt.Text.ToString()


SAluti

softandarts Profilo | Newbie

grazie molte

funziona.....

così leggiamo il valore del campo testo: suppongo che per scrivere nel campo testo un valore sia uguale .....(speriamo !)

ciao e grazie

Luca

martinez Profilo | Senior Member

Ciao... sono contento che funzi

per scrivere nel campo testo... basta invertire e tutto va a posto:

Dim tuaVarText

Dim txt As TextBox = CType(Me.FormView1.FindControl("IDTuoControllo"), TextBox)

txt.Text = tuaVarText

scusa se l'esempio non è in gran bello stile ma col VB non sono molto ferrato!

Ciao!

Anonimo Profilo | Senior Member

Salve, scusate se mi intrometto .

Sapete come si fà definire il valore per la paginzazione quando vogliamo noi?
tipo mettere e poi levarla e definire quando record deve visualizzare nella pagina.....

Grazie. Saluti, Luigi.

Vi posto un pò di codice:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5