Eu tenho um objeto DropDownList na minha página da web. Quando clico nele e seleciono um valor diferente, nada acontece, mesmo que eu tenha uma função conectada ao SelectedIndexChanged
evento.
Primeiro, o código HTML do objeto real:
<asp:DropDownList ID="logList" runat="server"
onselectedindexchanged="itemSelected">
</asp:DropDownList>
E é essa função 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>");
}
}
}
Nenhuma das respostas aparece e essa parte do JavaScript nunca é executada. Eu tentei isso na versão 3.6 mais recente do Firefox e no Internet Explorer 8. Isso está sendo servido em uma máquina com Windows Server 2003 R2, executando o ASP.NET com o .NET Framework versão 4.
tente definir
AutoPostBack="True"
no DropDownList.fonte
Eu sei que é um pouco mais antigo, mas ainda assim gostaria de acrescentar algo às respostas acima.
Pode haver alguma situação em que, o " valor " de mais de um item na lista suspensa é duplicado / mesmo. Portanto, verifique se você não tem valores repetidos nos itens da lista para acionar esse evento " onselectedindexchanged "
fonte
Adicionar propriedade
ViewStateMode="Enabled"
eEnableViewState="true"
EAutoPostBack="true"
na queda DropDownListfonte
Verifique também se a página é válida. Você pode verificar isso nas ferramentas de desenvolvedor de navegadores (F12)
Na guia Console, selecione o Destino / Quadro correto e verifique a propriedade [Page_IsValid]
Se a página não for válida, o formulário não será enviado e, portanto, não acionará o evento.
fonte
Para mim, a resposta foi atributo da página aspx, adicionei Async = "true" aos atributos da página e isso resolveu o meu problema.
Essa é a estrutura do meu painel de atualização
fonte
Em vez do que você escreveu, você pode escrevê-lo diretamente no evento SelectedIndexChanged do controle da lista suspensa, por exemplo
fonte