- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP.NET] Interazione tra 2 User Control
-
[ASP.NET] Interazione tra 2 User Control
Ecco lo scenario:
Pagina con 2 UserControl- uc1
- uc2su un evento generato da uc1 si genera un postback e vado a settare un attributo di uc2.
La pagina si ricarica, ma l'attributo verrà settato dopo l'evento load di uc2.
Se analizzo l'evento preRender di uc2 vedo l'attributo settato correttamente, ma a questo punto non mi serve più. Mi serviva al momento di uc2_onLoad, non dopo.
Ho provato a mettere il valore dell'attributo anche in una proprietà di una classe appositamente creata ed importata in tutti e 2 gli uc, ma il risultato è lo stesso.
E' come se l'assegnazione la facesse dopo il postback, quindi non ci posso fare (o meglio non so farci) nulla.
da uc1 in pratica scrivo:
Dim control2 as New UserControl control2 = Me.NamingContainer.FindControl("uc2") control2.Attributes.Item("operazione") = "ciccia"
-
uno alla volta please...
Ho cercato qualcosa in giro, forse mi devo studiare le interfacce....????
che p***e....
-
son contento anche se ho pasticciato un pò...
Ho creato una classettina che gestisce i comandi su uc1, spostandomi i valori sull'evento OnClick dei controlli presenti in uc1 in session e poi riprendendoli in tutte le pagine (oppure nei diversi controlli)
Non sono pazzo ad aver fatto una doppia fatica (cioè metti e togli dalla session) ma così evito che a scadenza della session per inattività vadano a puttana i dati ( la classe infatti li riporta sulla session in elaborazione); e poi ho anche i dati già "castizzati" non in stringa come la session, accessibile tramite properties in sola lettura...;)(Veramente ho dubbi sul fatto che la Garbage Collection mi distrugga l'oggetto e per questo chiedo a voi...lo fà vero? se si in genere dopo quanto?)
Fatto questo devo solo instanziare la classe in tutte le pagine ed i dati li ho sempre freschi sia dall'oggetto che dalla session.
Non sono pazzo ad aver fatto questi giri, ma passo di volta in volta una cifra di dati. Uc1 è infatti un menù fatto a controllo utente che legge Xml.
Nell'Xml setto i bottoni, il loro aspetto, e il comando. Per comando intendo se devono fare un redirect, un serverTransfer, oppure rimanere sulla pagina ed eseguire una Subroutine con parametri, oppure fare tutte queste cose insieme (redirect/transfer ed all'arrivo subroutine..)Qualcuno potrà dire perchè non l'ho fatto con le querystring....lo sò, ma sono sotto studio del .Net, quindi mi fa comodo fare esperienza con le classi...:D
Appena finito estrapolo il menù e lo metto a disposizione...
Ciao a tutti