WebForm.TextBox indicizzati

giovedì 11 novembre 2004 - 18.48

francescox78 Profilo | Junior Member

Ragazzi ma non c'è nessun modo per indicizzare dei textbox?
Vi spiego il problema:

Ho una pagina con molti TexBox ma solo alcuni hanno come ID un nome comune e un indentificativo numerico esempio (txtNome1, txtNome2, txtNome3 .... txtNome23)
dovrei fare un ciclo solo per questi 23 textbox che mi controlli il contenuto e faccia un operazione
come si può fare?

senza implementare un For each che cicla tuuuuutti i controlli della pagina?

magari una cosa simile, (ovviamente è un istruzione assurda)

for i =1 to 23
if txtnome & i ="pippo" then
txtnome & i .text = "ciao"
end if
next

mi potete aiutare?

Francesco.

igor Profilo | Junior Member

Ciao Francesco,
l'idea che mi é venuta leggendo il tuo post é la seguente:
inserisci sulla tua pagina un controllo di tipo Pannello e in questo pannello inserisci tutti i tuoi TextBox.

Dopo di che cicli unicamete sugli elementi di questo pannello.
Facendo delle prove ho notato che per ogni Textbox viene creato un elemnto literal che a noi non interessa, quindi ciclando sugli elementi del pannello c'é un Literal un Textbox, un literal, un textbox ecc...
Per risolvere il problema ho usato un blocco try-catch

Il codice potrebbe essere una cosa del genere:
private sub impostaTextBox()
Dim i As Integer
For i = 0 To pannello.Controls.Count - 1
Try
Dim txt As TextBox = CType(pannello.Controls.Item(i), TextBox)
txt.Text = "ciao " & i
Catch ex As Exception
Response.Write("elemento non textbox")
End Try
Next
End sub

probabilment é un po rudimentale ma dovrebbe permetterti di ottenere quello che vuoi abbastanza facilmente.
se ti serve altro fammi sapere!

Ciao e buon lavoro

igor

francescox78 Profilo | Junior Member

Igor...
hai avuto una bella idea per rigirare l'ostacolo!!! non ci avevo pensato... oggi pomeriggio provo e poi ti dico.
Invece di fare un ciclo per tutti i controlli della pagina solo quelli del pannello, bella idea grazie.

Francesco.

francescox78 Profilo | Junior Member

Salve!!
come era prevedibile fare un ciclo solo un un gruppo ristretto di oggetti è risultato il miglior modo!
grazie ancora per l'astuzia.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5