29 messaggi dal 07 luglio 2006
Stò lavorando sullo stesso problema.
In realtà i "sacri testi"  di Microsoft
http://msdn.microsoft.com/en-us/library/e8z5184w.aspx

rispetto a treeview e updatepanel dicono :

UpdatePanel controls are used to update selected regions of a page instead of updating the whole page with a postback. The TreeView control can be used inside an UpdatePanel control with the following restrictions:

TreeView callbacks must be associated with asynchronous postbacks, or callback event validation will fail. When you set the PopulateOnDemand property of the TreeNode controls to true, callbacks are enabled. You can use one of the following approaches to ensure that TreeView callbacks work with the UpdatePanel control:

If the TreeView control is not inside an UpdatePanel control, disable callbacks on TreeNode controls that are not part of an asynchronous postback. To do this, set the PopulateOnDemand property to false.

Programmatically refresh all controls that register callbacks during the asynchronous postback. For example, you can place the TreeView control inside an UpdatePanel control. The TreeView control does not have to be in the UpdatePanel control where the asynchronous postback originates, as long as the UpdatePanel control that contains the TreeView control is refreshed.

You must apply styles by using a reference to a Cascading Style Sheet (CSS) class. For example, instead of setting the NodeStyle property by using a property-subproperty attribute, set the style by using the property-CssClass attribute. Similarly, when you use the NodeStyle template to set the style, use the CssClass attribute of the template.

The EnableClientScript property must be true (the default value). In addition, if callbacks are enabled for the TreeView control, you cannot change the EnableClientScript property between asynchronous postbacks.


qualcuno ha esperienze dirette a proposito ?
esperienza in proposito? non usare l'UpdatePanel con il TreeView e vivi felice e contento, tra le altre cose non serve visto che le caratteristiche asincrone sono comprese nel "prezzo"

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

http://nostromo.spaces.live.com/default.aspx
29 messaggi dal 07 luglio 2006
"vivi felice e contento" ... E' la mia aspirazione !!

D'altra parte lo scopo che mi prefiggo è quello di avere una struttura
ad albero che abiliti sul form dei campi di inserimento (relativi al nodo
selezionato). Popolati i campi l'utente salva tutto e ricarica le modifiche
sulla struttura gerarchica. Qualcosa del tipo "aggiungi/modifica/cancella"
nodi (i dati li prende da un db) ...
L'ideale è che ad ogni click su un nodo o espasione di nodo non parta un postback. "In giro", per quello su cui sono riuscito a documentarmi, la soluzione venduta come più semplice è quella dell'update panel. Evidentemente non è così  ...

Vedrò di documentarmi su "le caratteristiche asincrone ...comprese nel "prezzo" ". .

Se qualcuno ha l'url su un articolo relativo all'argomento è gradito !!
(ho già fatto indegestione di articoli sull'updatepanel + treeview , con scarsi risultati ...)
personalmente sono dell'idea che i controlli non vanno forzati a fare quello per cui non sono nati.

quando è nato il TreeView Ajax era appena in beta.

comunque se vuoi usare i CallBack del TreeView non puoi usare l'UpdatePanel.

per abilitare i CallBack è sufficente impostare a true la proprietà EnableClientScript, ma il click sul nondo mi sembra non sia contemplato.

certo puoi crearti il tuo TreeView custom che superi questo limite, ma non è una cosa banale

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

http://nostromo.spaces.live.com/default.aspx
29 messaggi dal 07 luglio 2006
Io sono partito con una banalissimo treeview contenuto dentro un update panel
(popolato con alcuni dati presi dal db). Ad ogni click su un elemento i valori assegnati alla proprietà "value", vengono inseriti in una textbox.
Funziona perfettamente ! Ho detto "è quello che serve" ...
Poi ho iniziato a far "crescere" la pagina aggiungendo controlli vari che vengono visualizzati/abilitati in funzione di quello che
viene selezionato sul treeview.
Da quel momento ha iniziato a dare i numeri "tutto". Il treeview non gestisce correttamente la selezione dei nodi, l'assegnazione alla proprietà "value" di ogni nodo, ecc.. Ho incluso e tolto controlli dentro l'update panel quà e là per capire cosa non funzionasse e provato a settare le diverse proprietà descritte ma non c'è verso.
Una delle mete da raggiungere era addirittura di popolare nodi "on demand" ... ma così sembra di giocare con una slot machine  !!!

Per l'operazione che voglio effettuare allora dovrei cercare qualcosa di diverso? esiste ?
in che senso giocare "alla slot machine" di solito uso PopulateOnDemand senza particolari problemi

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

http://nostromo.spaces.live.com/default.aspx
29 messaggi dal 07 luglio 2006
il "PopulateOnDemand" funziona anche a me ... non intendevo quello.

Forse vi faccio perdere il filo (metto troppe cose insieme)...

Riduco all'osso :

Vorrei una pagina web simile a quella di windows explorer o di outlook.

Una parte di navigazione a sinistra (che non generi "sfarfallio" poco gradito
ad un utente ) e una parte sinistra con controlli per un data entry.
Un bel bottone salva che alla fine di tutto ricarica i dati nella parte
di navigazione. I dati vengono inseriti/cancellati/modificati su un db.

Pensavo che l'update panel fosse adatto ad ottenere questo (e altre cose comprese in queto scenario) . E' lo strumento adatto ?
Più lo uso e mi addentro nella gestione di postaback, callback e quant'altro
e più mi sembra complicato per ottenere quello che voglio.

Ad esempio se metto il treeview dentro l'updatepanel con EnableClientScript="True" e lascio fuori il resto dei controlli non funziona
la procedura di visualizzazione/abilitazione dei controlli. Ok, non viene caricata la pagina ... allora metto dentro l'update panel anche i controlli
(almeno quelli che non devono fare il postaback per salvare i dati sul db).
così non funziona l'update panel ... genera un postback ... "troppo affollamento" ?? e via di seguito.

O non ho capito bene come funziona o non è adatto a quello che voglio ottenere!!
29 messaggi dal 07 luglio 2006
A tutti color che potrebbero avere interesse a sapere come è andata a finire ...

mi era sfuggito  un concetto importante nella gestione degli updatepanel.
( vedi questa pagina: http://www.ajaxtutorials.com/ajax-tutorials/using-updatepanel-triggers-in-asp-net-3-5/) : I triggers .

Includendo tutti i miei controlli ( treeview e controlli per il data entry)dentro un update panel e inserendo gli opportuni Triggers, riesco a gestire la pagina come desideravo. Cioè a provocare postback (sincroni o no) dove e quando necessario.

Grazie !
saluti .

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.