Tengo un objeto DropDownList en mi página web. Cuando hago clic en él y selecciono un valor diferente, no sucede nada, aunque tengo una función conectada al SelectedIndexChanged
evento.
Primero, el código HTML del objeto real:
<asp:DropDownList ID="logList" runat="server"
onselectedindexchanged="itemSelected">
</asp:DropDownList>
Y esta es esa función itemSelected
:
protected void itemSelected(object sender, EventArgs e)
{
Response.Write("Getting clicked; " + sender.GetType().ToString());
FileInfo selectedfile;
Response.Write("<script>alert('Hello')</script>");
foreach (FileInfo file in logs)
{
if (file.Name == logList.Items[logList.SelectedIndex].Text)
{
Response.Write("<script>alert('Hello')</script>");
}
}
}
Ninguna de las respuestas aparece, y esa parte de JavaScript nunca se ejecuta. He intentado esto en la última versión 3.6 de Firefox, así como en Internet Explorer 8. Esto se sirve desde una máquina Windows Server 2003 R2, que ejecuta ASP.NET con .NET Framework versión 4.
intente configurar
AutoPostBack="True"
en DropDownList.fuente
Sé que es una publicación un poco más antigua, pero aún así me gustaría agregar algo a las respuestas anteriores.
Puede haber alguna situación en la que, en, el " valor " de más de un elemento en la lista desplegable esté duplicado / igual. Por lo tanto, asegúrese de no tener valores repetidos en los elementos de la lista para activar este evento " onselectedindexchanged "
fuente
Agregar propiedad
ViewStateMode="Enabled"
yEnableViewState="true"
YAutoPostBack="true"
en soltar DropDownListfuente
También asegúrese de que la página sea válida. Puede verificar esto en las herramientas de desarrollo de navegadores (F12)
En la pestaña Consola, seleccione el Objetivo / Marco correcto y verifique la propiedad [Page_IsValid]
Si la página no es válida, el formulario no se enviará y, por lo tanto, no se activará el evento.
fuente
Para mí, la respuesta fue el atributo de página aspx, agregué Async = "true" a los atributos de la página y esto resolvió mi problema.
Esta es la estructura de mi panel de actualización
fuente
En lugar de lo que ha escrito, puede escribirlo directamente en el evento SelectedIndexChanged del control de lista desplegable, p. Ej.
fuente