Domanda

Sto usando la pagina principale e le pagine secondarie nell'applicazione asp.net. Sto avendo un elenco a discesa e treeview (che utilizza sitemapdatasource) nella pagina principale. Quando faccio clic su uno dei nodi di treeview, la pagina viene reindirizzata alla pagina figlio. Il problema è che se si seleziona un valore nell'elenco a discesa e si fa clic sul nodo treeview, il valore selezionato deve essere assegnato a ext box nella pagina figlio. Questo non funziona.. master page_load () sta eseguendo dopo page_load figlio (), è per questo?

Aiutami in questo.

Grazie Rupa

È stato utile?

Soluzione

Dato che non puoi visualizzare direttamente una pagina principale, suppongo che tu abbia due pagine che usano una pagina principale comune. Suppongo anche che questa pagina principale mostri un elenco a discesa e una mappa del sito con treeview.

Basandomi su questo, penso che ciò che sta accadendo principalmente è che il tuo treeview sta eseguendo il rendering di semplici link html vecchi (cioè <a href='http://stackoverflow.com'>...). Quando si fa clic su questi, il browser esegue una richiesta get per la seconda pagina figlio. Per impostazione predefinita, nessun dato dalla prima pagina figlio viene passato alla seconda.

Esistono vari modi per modificare questo comportamento. Innanzitutto è necessario impostare la proprietà AutoPostBack su true e l'evento handle SelectedIndexChanged nell'elenco a discesa. In tal caso, puoi salvare il valore del menu a discesa in modo che possa essere ripristinato in seguito.

Il modo più semplice per salvare questo valore è probabilmente inserirlo nella sessione.

Session["myvar"] = dropdown.SelectedIndex;

La tua pagina principale può ripristinare questo valore quando la pagina figlio si carica facendo qualcosa del tipo:

if (!IsPostBack && Session["myvar"] != null) 
    dropdown.SelectedIndex = (int)Session["myvar"];

Un'altra opzione sarebbe quella di aggiungere il valore alla stringa di query di ciascun url nella vista ad albero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top