Обработчик события SelectedIndexChanged возвращает старый индекс - PullRequest
9 голосов
/ 16 сентября 2008

Я обрабатываю событие onSelectIndexChanged. Событие возникает, когда изменяется выбор DropDownList. проблема в том, что DropDownList по-прежнему возвращает старые значения для SelectedValue и SelectedIndex. Что я делаю не так?

Вот определение DropDownList из файла aspx:

<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>

Вот обработчик события DropDownList OnSelectedIndexChanged:

protected void index_changed(object sender, EventArgs e)
{
    decimal d = Convert.ToDecimal( Select1.SelectedValue );
    Literal1.Text = d.ToString();
}

Ответы [ 5 ]

13 голосов
/ 16 сентября 2008

Есть ли у вас код при загрузке страницы, который случайно возвращает значение по умолчанию к первому значению?

Когда страница перезагружается, вы видите новое значение?

3 голосов
/ 16 сентября 2008

Если вы используете AJAX, вы также можете выполнять обратный вызов, а не полный обратный вызов. В этом случае вы можете использовать это в вашем методе загрузки страницы:

        if (!IsCallback && !IsPostBack)
        {
            // Do your page setup here
        }
2 голосов
/ 16 сентября 2008

Это может показаться очевидным, но в любом случае. Вы инициализируете этот выпадающий список с начальным значением в каком-либо другом обработчике событий, например OnLoad? Если это так, вы должны проверить, вызвано ли это событие обратной передачей или первой загрузкой. Таким образом, вы должны иметь что-то вроде

if(!IsPostback) d.SelectedValue = "Default"
2 голосов
/ 16 сентября 2008

добавить это: if page.isnotpostback {

} вокруг вашего кода, чтобы связать выпадающий список.

0 голосов
/ 16 сентября 2008

Возможно ли, что у вас есть элементы, скопированные по всему источнику данных для выпадающего списка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...