Web User Control

martedì 04 settembre 2007 - 10.55

carafe Profilo | Newbie

Salve a tutti ho un problema e spero che il vostro aiuto contribuisca a risolverlo.
Allora ho due web user control all'interno di una pagina aspx.
In uno user control ho un button e nell'altro una textbox.
come faccio a valorizzare la textbox inserita in uno user control attraverso l'evento click di un bottone contenuta in un altro usercontrol?
Grazie 1000

alx_81 Profilo | Guru

>Salve a tutti
Ciao!
>ho un problema e spero che il vostro aiuto contribuisca a risolverlo.
>Allora ho due web user control all'interno di una pagina aspx.
>In uno user control ho un button e nell'altro una textbox.
>come faccio a valorizzare la textbox inserita in uno user control
>attraverso l'evento click di un bottone contenuta in un altro
>usercontrol?
Allora, risposta un po' macchinosa.. proverò a spiegarmi al meglio..
Dunque, ipotizziamo due controlli, controllo1.ascx e controllo2.ascx.
Aggiungiamo i due controlli ad una pagina di esempio Default.aspx:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come vedi ho registrato e piazzato i due controlli.
Il primo è il seguente:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Quindi una semplice TextBox chiamata txt1.
Il secondo è il seguente:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

praticamente identico al primo ma col bottone in più (btn1). La textbox si chiama nello stesso modo, ma tu ovviamente puoi cambiare.

Nel secondo controllo ho gestito l'evento click del btn1:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come puoi notare, utilizzo la proprietà Parent del controllo (Me) in modo da ottenere l'owner dello stesso. Da lì, navigo il parent con FindControl, cercando via ID il controllo da ricavare. Una volta trovato, cerco allo stesso modo il textbox, ovviamente partendo però dal controllo ricavato nella riga precedente. A quel punto una semplice assegnazione passa il contenuto della prima textbox verso la seconda (nel nostro caso da txt1 di controllo2 a txt1 di controllo1)..

Spero di essere stato sufficientemente chiaro.
Se ti dovesse servire documentazione eccoti i link

Control.FindControl Method
http://msdn2.microsoft.com/en-us/library/486wc64h.aspx

Control.Parent Property
http://msdn2.microsoft.com/en-us/library/system.web.ui.control.parent.aspx

DirecCast Funcion
http://msdn2.microsoft.com/en-us/library/7k6y2h6x(VS.80).aspx

>Grazie 1000
Di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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