1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Seleccionar o mesmo valor numa DropDownList não faz PostBack

Discussão em 'Web Development' iniciada por trashCanMan, 8 de Janeiro de 2009. (Respostas: 3; Visualizações: 1557)

  1. trashCanMan

    trashCanMan Power Member

    Boas pessoal,
    tenho um problema em mãos que se resume a uma DropDownList que não faz PostBack quando escolho o mesmo valor Não me parece complicado, mas não estou a conseguir encontrar solução nas minhas pesquisas... alguém tem ideia do que se passa?

    Source:
    Código:
    <asp:DropDownList ID="ddlHistory" runat="server" Width="220" 
                                                onselectedindexchanged="DdlHistory_SelectedIndexChanged" AutoPostBack="true" />
    
    Code behind:
    Código:
    private void PopulateDDlHistory()
    {
        this.ddlHistory.Items.Clear();
        this.ddlHistory.Items.Add(new ListItem("texto_0", "valor_0.aspx"));
        this.ddlHistory.Items.Add(new ListItem("texto_1", "valor_1.aspx"));
        this.ddlHistory.Items.Add(new ListItem("texto_2", "valor_2.aspx"));
    }
    
    protected void DdlHistory_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            Response.Redirect(((DropDownList)sender).SelectedValue).ToString());
        }
        catch (ThreadAbortException ex)
        {
            //Do nothing
        }
        catch (Exception ex)
        {
            LogException(ex);
        }
    }
    
     
  2. Nastase

    Nastase Power Member

    A meu conhecimento não há nada que faças que te permita fazer postback quando se selecciona o mesmo valor. Tudo porque do ponto de vista da combo, nada foi alterado. Está tudo igual, o utilizador não mudou opção nenhuma.

    Tens a certeza que precisas de fazer Postback de uma coisa que supostamente já o fez (quando o item foi seleccionado inicialmente)?
     
  3. trashCanMan

    trashCanMan Power Member

    Realmente, mesmo o 'SelectedIndexChanged' nao pode ser executado porque o 'SelectedIndex' não foi 'Changed' :p
    O objectivo da DDL é redireccionar para outra pagina, ou seja, se eu quiser ir para a pagina correspondente ao indice zero (ou indice actual) da DDL, não consigo.
    'Resolvi' o assunto atribuindo ao indice zero, um item com as propriedades Text="Escolha uma opção" e Value="-1", em que se for escolhido este item, não acontece nada. Vamos ver se passa na inquisição :nie2:
     
  4. Nastase

    Nastase Power Member

    Penso que a solução que adoptaste é a melhor pois se queres redireccionar para uma página não faz sentido que a página onde está a DDL seja diferente do que a está seleccionada. Se é que me estou a fazer entender.

    De qualquer forma, boa sorte com a inquisição :D
     

Partilhar esta Página