none
ListBox.SelectedIndex всегда возвращает 0 RRS feed

  • Вопрос

  • Всем привет!

    На страничке есть 4 контрола:
    DropDownList - который заполняется из БД.
    ListBox - который заполняется значениями из БД в зависимости от выбранного элемента в DrowDownList.
    Button - который должен отображать в последнем элементе - Label - индекс выделенного элемента в ListBox.

    Привязка к БД проходит на ура. Все контролы заполняются. DropDownList работает без нареканий. Но ListBox работает не так как ожидается.
    При попытке узнать индекс выбранного элемента в листбоксе происходит сброс выбранного элемента на 0.

    Подскажите, пожалуйста, что делать? Куда копать? Бьюсь уже не первый день... Предполагаю, что ошибка закралась где-то в PostBack или ViewState.
    12 февраля 2013 г. 14:43

Ответы

  • Ну раз нет ответа, можно предположить следующее: обычно такие проблемы возникаю и за данных приходящих с БД. Возможно запрос к базе составляется неверно и приходят не те данные которые вы ожидали. Можете проверить с помощью SQL Server Profiler или в отладчике, чем и как заполняется список. Например список может содержать одно поле или одинаковые данные, а вам кажется что значения не меняются.
    • Предложено в качестве ответа YatajgaEditor 15 февраля 2013 г. 6:33
    • Помечено в качестве ответа YatajgaEditor 17 февраля 2013 г. 16:24
    14 февраля 2013 г. 8:32
    Модератор
  • Привет

    У вас в коде выполняется привязка каких-либо данных? Возможно при выполнение серверного кода перезагружается страница и данные перепривязываются вновь, поэтому и сбрасывается состояние выделенных элементов.

    Оберните код привязки в проверку устловия что это не PostBack:

    if (!Page.IsPostBack)
    {
    // привязка
    }


    Для связи [mail]

    • Предложено в качестве ответа YatajgaEditor 15 февраля 2013 г. 6:33
    • Помечено в качестве ответа YatajgaEditor 17 февраля 2013 г. 16:24
    14 февраля 2013 г. 13:58
    Модератор

Все ответы

  • "При попытке узнать индекс выбранного элемента в листбоксе происходит сброс выбранного элемента на 0." - вот отсюда поподробней, если можно кусок кода и более развёрнуто. А то пока всё в общих чертах.
    12 февраля 2013 г. 18:48
    Модератор
  • Ну раз нет ответа, можно предположить следующее: обычно такие проблемы возникаю и за данных приходящих с БД. Возможно запрос к базе составляется неверно и приходят не те данные которые вы ожидали. Можете проверить с помощью SQL Server Profiler или в отладчике, чем и как заполняется список. Например список может содержать одно поле или одинаковые данные, а вам кажется что значения не меняются.
    • Предложено в качестве ответа YatajgaEditor 15 февраля 2013 г. 6:33
    • Помечено в качестве ответа YatajgaEditor 17 февраля 2013 г. 16:24
    14 февраля 2013 г. 8:32
    Модератор
  • Привет

    У вас в коде выполняется привязка каких-либо данных? Возможно при выполнение серверного кода перезагружается страница и данные перепривязываются вновь, поэтому и сбрасывается состояние выделенных элементов.

    Оберните код привязки в проверку устловия что это не PostBack:

    if (!Page.IsPostBack)
    {
    // привязка
    }


    Для связи [mail]

    • Предложено в качестве ответа YatajgaEditor 15 февраля 2013 г. 6:33
    • Помечено в качестве ответа YatajgaEditor 17 февраля 2013 г. 16:24
    14 февраля 2013 г. 13:58
    Модератор
  • Уважаемый пользователь не бросайте топик без ответов! Если вам удалось найти решение проблемы, напишите. Спасибо.
    15 февраля 2013 г. 6:33
    Модератор