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();
}
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"
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?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With