Seleccionar o mesmo valor numa DropDownList não faz PostBack

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);
    }
}
 
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)?
 
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)?
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:
 
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
 
Back
Topo