Domanda

Sto creando un modulo Web in più parti in ASP.NET che utilizza i pannelli per i diversi passaggi, rendendo visibile solo il pannello per il passaggio corrente. Al passaggio 1, ho un elenco a discesa che utilizza una funzione Javascript per riconfigurare alcuni campi nello stesso pannello tramite " onchange " ;. Ovviamente, poiché lo script sul lato client influenza solo il DOM, quando vado al passaggio 2 e quindi al passaggio al passaggio 1, i campi nel passaggio 1 tornano alla loro configurazione originale anche se è selezionata la stessa scelta a discesa.

Qual è un buon metodo per memorizzare lo stato visivo dei pannelli tra i passaggi? Ho considerato di chiamare la funzione onchange del menu a discesa al caricamento della pagina, ma mi è sembrato ingombrante. Grazie!

-

Grazie per le risposte rapide - Penso che proverò il Wizard, ma anche la soluzione AJAX sembra divertente.

È stato utile?

Soluzione

Potresti prendere in considerazione un controllo della procedura guidata ASP.Net per questo, automatizzerà molto di ciò che stai cercando di fare.

Altri suggerimenti

Ti consiglio di usare il controllo MultiView, che è semanticamente più appropriato. E quindi archiviare questi dati in ViewState. Ho scritto qualcosa di simile e sbalordisce.

Penso che la tua scommessa migliore sia quella di mantenere tutto il tuo stato in un posto, o non mantenere alcuno stato. Il problema principale che stai riscontrando è la sincronizzazione del tuo stato lato client con il tuo stato lato server.

Prova a mostrare / nascondere i tuoi pannelli con javascript invece di postare indietro, se possibile. In caso contrario, utilizzare alcuni ajax per aggiornare i valori sul lato server non appena vengono selezionati, anziché quando si fa clic sul pulsante successivo / precedente.

Altrimenti, potresti usare qualcosa come ASP.Net Ajax Toolkit Tabs per aiutare con le transizioni.

Spero che ti aiuti!

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