Ciao ragazzi,
come da oggetto ho un problema che non riesco a risolvere.

In pratica ho questo DDL in uno UC

codice:
<asp:DropDownList ID="DDLOrdina" runat="server" CssClass="DDLOrdina" AutoPostBack="true" OnSelectedIndexChanged="Ordina">
        <asp:ListItem Selected="True" Text="Ordina Per" Value=""></asp:ListItem>
        <asp:ListItem Text="Più Recenti" Value="1"></asp:ListItem>
        <asp:ListItem Text="Meno Recenti" Value="2"></asp:ListItem>
        <asp:ListItem Text="Prezzo Crescente" Value="3"></asp:ListItem>
        <asp:ListItem Text="Prezzo Decrescente" Value="4"></asp:ListItem>
    </asp:DropDownList>
La sub Ordina richiamata all' OnChange è questa:

codice:
    Sub Ordina(ByVal sender As Object, ByVal e As System.EventArgs) Handles DDLOrdina.SelectedIndexChanged
        Dim ordina As String
        ordina = DDLOrdina.SelectedItem.Value
        Select Case ordina
            Case 1
                Session("ordina") = "ID_prodotti DESC"
            Case 2
                Session("ordina") = "ID_prodotti ASC"
        End Select
    End Sub
LA cosa strana però è che non prende il valore subito, ma solo al secondo ricaricamento di pagina.
Mi spiego meglio:
Seleziona il secondo elemento della DDL che dovrebbe mostrarmi i prodotti per ID CRESCENTE. Alla selezione, e quindi al ricaricamento della pagina, non cambia nulla.
Se adesso seleziono il primo elemento, e cioè ID DECRESCENTE, mi mostri i risultati in base alla selezione precedente e cioè per ID CRECESCENTE. E così via dicendo.

In pratica mostra i risultati della selezione precedente....

Sapete dirmi cosa ho sbagliato?
Grazie mille