Domanda

Come utilizzare un elenco a discesa senza autopostback = true.

Il valore sul server non viene modificato in base a quello selezionato dal lato client. Come ho già detto, non desidero che per ogni menu a discesa ho l'autopostback che attiverà un postback.

È stato utile?

Soluzione

Ogni volta che ho perso il valore del menu a discesa è perché ho sbagliato e ripopolato il menu a discesa prima di gestire la modifica del valore. Per me, sono stati i menu a discesa che ho bisogno di fare qualcosa di speciale con come aggiungere gli attributi degli elementi per Javascript, ecc. Questi sono i dati che devono essere aggiunti ad ogni caricamento della pagina (ovvero i dati che non sono persistenti nel menu a discesa come i nomi e i valori di ciascun elemento). In questi casi ho svolto questo lavoro al caricamento, quindi provo a recuperare il valore più avanti nel ciclo di vita della pagina e DOH!

Ecco il ciclo di vita della pagina:

http://msdn.microsoft.com/en-us/library /ms178472.aspx

Dollari alle ciambelle è quello che sta succedendo. Probabilmente stai solo ricaricando gli elementi prima di iniziare a gestire qualsiasi evento di postback che stai utilizzando per acquisire il valore. Se lo stai facendo e non riesci ad aggirare questo flusso di lavoro, salva l'indice selezionato all'inizio della logica che popola il menu a discesa, quindi imposta l'indice selezionato del menu a discesa con quel valore al termine.

Altri suggerimenti

verrà salvato nel viewstate, quindi il valore sarà corretto quando alla fine pubblichi un postback e se sei davvero disperato per ottenere il valore corrente senza un postback, javascript sarebbe il modo di farlo.

Nel peggiore dei casi puoi prendere il valore dall'oggetto richiesta:

string selectedID = Request[DropdownControl.UniqueID];

Dovresti assicurarti di riempire la casella di selezione solo con le opzioni durante il caricamento della pagina iniziale e non di nuovo durante il postback

if (!this.Page.IsPostBack) {
  //fill select box here
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top