Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SelectedIndexChanged event handler getting old index

I'm handling the onSelectIndexChanged event. An event is raised when the DropDownList selection changes. the problem is that the DropDownList still returns the old values for SelectedValue and SelectedIndex. What am I doing wrong?

Here is the DropDownList definition from the aspx file:

<div style="margin: 0px; padding: 0px 1em 0px 0px;">
    <span style="margin: 0px; padding: 0px; vertical-align: top;">Route:</span>
    <asp:DropDownList id="Select1" runat="server" onselectedindexchanged="index_changed" AutoPostBack="true">
    </asp:DropDownList>
    <asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>

Here is the DropDownList OnSelectedIndexChanged event handler:

protected void index_changed(object sender, EventArgs e)
{
    decimal d = Convert.ToDecimal( Select1.SelectedValue );
    Literal1.Text = d.ToString();
}
like image 720
minty Avatar asked Sep 16 '08 18:09

minty


2 Answers

This may seem obvious, but anyway. Do you initialize this dropdown with an initial value in some other event handler like OnLoad ? If so you should check if that event is risen by a postback or by the first load. So you should have something like

if(!IsPostback) d.SelectedValue = "Default"
like image 198
axk Avatar answered Oct 06 '22 08:10

axk


Do you have any code in page load that is by chance re-defaulting the value to the first value?

When the page reloads do you see the new value?

like image 41
Mitchel Sellers Avatar answered Oct 06 '22 08:10

Mitchel Sellers