2010-04-21 12 views
7

Ho un codice che si attiva quando l'utente seleziona un elemento nell'elenco a discesa. Ora voglio che lo stesso codice si accenda quando imposto l'indirizzo selezionato a livello di codice.come attivare dropdownlist.selectedindexchanged evento programmaticamente

Ho provato a fissare

ddlSystemLevelDCP.SelectedIndex=2; 

e questo pure

ddlSystemLevelDCP.SelectedValue="2"; 

Nessuno di loro spara questo evento. Tuttavia, quando l'utente cambia la selezione, questo evento si attiva.

+0

intendi in incendi auto post indietro? – Kronass

+1

sei sicuro che l'indice sta cambiando? Quando l'elemento selezionato è l'indice 2 e lo si imposta su 2 nel codice, la selezione non viene modificata, pertanto l'evento non verrà attivato. – Terry

risposta

6

Se si dispone di gestore eventi, è possibile chiamarlo.

<asp:DropDownList ID="ddlSystemLevelDCP" runat="server" 
AutoPostBack="true" 
onselectedindexchanged="ddlSystemLevelDCP_SelectedIndexChanged"> 
</asp:DropDownList> 

...

ddlSystemLevelDCP_SelectedIndexChanged(ddlSystemLevelDCP,EventArgs.empty); 
+0

genera l'eccezione di stackoverflow. – Rohit

+0

Questo ha funzionato per me. Senza problemi. Non sono sicuro del motivo per cui OP sta ricevendo un'eccezione – Mausimo

+0

Funziona bene in vb.net –

9

Impostare l'indice selezionato. dì, 2 e poi chiama quell'evento con argomenti nulli.

ddlSystemLevelDCP.SelectedIndex=2; 
ddlSystemLevelDCP_SelectedIndexChanged(null,null); 

Questo dovrebbe funzionare.

Problemi correlati