2010-04-21 17 views
7

Tengo un código que se activa cuando el usuario selecciona un elemento en la lista desplegable. Ahora quiero que se inicie el mismo código cuando configuro el índice seleccionado por programación.cómo disparar dropdownlist.selectedindexchanged evento programáticamente

He intentado fijar

ddlSystemLevelDCP.SelectedIndex=2; 

y esto también

ddlSystemLevelDCP.SelectedValue="2"; 

Ninguno de ellos dispara este evento. Sin embargo, cuando el usuario cambia la selección, este evento se dispara.

+0

quieres decir en incendios auto post back? – Kronass

+1

¿estás seguro de que el índice está cambiando? Cuando el elemento seleccionado es el índice 2, y lo configura en 2 en el código, la selección no se cambia para que el evento no se active. – Terry

Respuesta

6

Si tiene controlador de eventos, puede llamarlo.

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

...

ddlSystemLevelDCP_SelectedIndexChanged(ddlSystemLevelDCP,EventArgs.empty); 
+0

arroja la excepción stackoverflow. – Rohit

+0

Esto funcionó para mí. Sin problemas. No estoy seguro de por qué OP obtiene la excepción – Mausimo

+0

Funciona bien en vb.net –

9

Fije su índice seleccionado. digamos, 2 y luego llama a ese evento con argumentos nulos.

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

Esto debería funcionar.

Cuestiones relacionadas