234 messaggi dal 25 gennaio 2002
Salve a tutti ho la necessità di far interagire un web userControl con un controllo server (diciamo una Label) che si trova nella pagina che lo ospita...o meglio.
Ho una master page ed in essa inserisco lo usercontrol nel quale è presente un controllo server (Button).
Cliccando sul button dello usercontrol vorrei interagire con il contollo Label che si trova all'interno di una pagina aspx che rappresenta il ContentPlaceHolder della master.

Spero di essere stato abbastanza chiaro.

Grazie.

Aikon

...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
per fare si può fare, ma perchè metti una label nella master e il bottone in un UserControl, mi sembra un errore, non puoi mettere tutto nell'UserControl

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
234 messaggi dal 25 gennaio 2002
La label non si trova nella master bensì nella pagina contenitore.
Lo so che mettendo tutto nello usercontrol sarebbe tutto più semplice ma nel mio caso devo tenerli separati con lo usercontrol nella master perchè deve essere presente in tutte le aree dell'applicazione.
Inoltre ho detto label ma in realtà avrei bisogno di interagire con componenti più complessi ma questo conta poco, l'importante per me è capire il concetto.

Grazie cmq per la risposta.
Modificato da aikon il 04 marzo 2008 20.46 -

Aikon

...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Quindi master, content e usercontrol con button...
Crea una proprietà pubblica su content es. LabelText che in get e set lavora su Label.Text.
A questo punto sul tuo user control Page.LabelText. Se la non hai la Page asp.net ma una tua page derivata devi ovviamente effettuare il cast per vedere la proprietà (e sarebbe la soluzione migliore).
Altrimenti devi fare il cast a ((_Default)Page).LabelText

Giusto???

Ormai programmano tutti... ma la professionalità appartiene a pochi
io rimando convinto che sia sbagliato che un usercontrol per funzionare necessiti di un altro controllo in una pagina.

comunque c'è un articolo su aspitalia su come far comunicare due UserControl, benché scritto per la versione 1.x è attuale ed è il miglior sistema

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
234 messaggi dal 25 gennaio 2002
manuel0081 ha scritto:
Quindi master, content e usercontrol con button...
Crea una proprietà pubblica su content es. LabelText che in get e set lavora su Label.Text.
A questo punto sul tuo user control Page.LabelText. Se la non hai la Page asp.net ma una tua page derivata devi ovviamente effettuare il cast per vedere la proprietà (e sarebbe la soluzione migliore).
Altrimenti devi fare il cast a ((_Default)Page).LabelText

Giusto???


Ciao Manuel, grazie per la risposta ma purtroppo non riesco a capire i vari
passaggi che mi hai suggerito.
O meglio fino alla creazione della proprietà pubblica per gestire la Label ci sono,
ma poi non ho capito gli step successivi.
Potresti essere più esplicito?

Grazie

Aikon

...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
leggi questo:

http://www.aspitalia.com/articoli/asp.net/usercontrol_scambiodati.aspx


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Premetto che sono d'accordo con Nostromo e la mia è una soluzione sporca:

dopo la LabelText:

sul tuo user control puoi usare qualcosa del tipo Page.LabelText. Ma LabelText non è una proprietà diretta di Page, bensì accessibile tramite cast.
Chiamo con TipoPagina il tipo della classe che deriva da Page dove hai inserito il controllo e dove hai definito LabelText

Accedi come

((TipoPagina)Page).LabelText

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.