Aggiornare un updatepanel dentro un usercontrol da un divers usercontr...

lunedì 17 novembre 2014 - 17.12
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio Express  |  MySQL 5.1  |  Firefox  |  Javascript  |  XHTML 1.0

ravalon Profilo | Expert

Salve,

ho una pagina che contiene due User-Control (intendendo pagine .ascx)

Default.aspx
-- UserControlRicerca.ascx
-- UserControlOfferte.ascx

Il primo contiene un box per la ricerca, il secondo usercontrol contiene delle offerte di trasporti.
Vorrei in base alla ricerca fatta sul primo usercontrol, aggiornare i risultati contenuti nel secondo usercontrol.

Entrambi gli usercontrol sono dentro a diversi UpdatePanel.
E' sufficiente richiamare l'update manualmente per l'updatepanel ? Se si, come faccio da uno usercontrol a prendere il riferimento dell'updatecontrol che si trova su un controllo diverso ?

come posso fare ? Grazie a chi mi dedicherà un po' del proprio tempo.

andrestu Profilo | Expert

gli update-panel sono all'interno degli user-control o all'esterno nella pagina? in entrambi i casi puoi seguire due modi diversi. Il primo consiste nel passare i riferimenti diretti degli oggetti in questione quindi in questo caso gli update-panel, il secondo consiste nel utilizzare il metodo findcontrol con l'Id del controllo in questione.
Dovresti specificare meglio la struttura della pagina se vuoi info dettagliate...

Andrea Restucci - Web Developer

ravalon Profilo | Expert

Grazie Andrestu, sei sempre molto gentile.

Ho risolto il problema facendo in modo di ricaricare i dati dell'updatepanel manualmente tramite estrazione degli stessi in base ai criteri usati nel boxricerca. L'updatepanel ha l'aggiornamento settato su always e cosi si aggiorna anche l'altro controllo.

ritengo comunque che, dopo tutti i passi in avanti fatti da ASP.NET, l'uso di oggetti all'interno di pagine o controlli differenti sia ancora troppo macchinoso....

Se ho un controllo dentro un updatepanel a sua volta dentro una masterpage devo fare un sacco di FINDCONTROL e prendere i riferimenti a un sacco di oggetti...poco intuitivo direi...

comunque il mio problema è risolto, ti ringrazio molto ugualmente.

andrestu Profilo | Expert

usando un metodo findcontrol ricorsivo in modo che itera su tutta la gerarchia di controlli a partire dalla radice eviti di richiamare il metodo predefinito findcontrol N volte, se cerchi in rete trovi tanti esempi, in questo caso però devi stare un pò attento a come definisci gli Id dei controlli perchè se nella gerarchia hai due controlli con lo stesso Id ti troverà il primo.
In alternativa puoi passarti i riferimenti ai controlli che ti servono esponendoli come proprietà pubbliche...





ravalon Profilo | Expert

Grazie mille per il tuo supporto
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5