OnDataBound не запускается для asp:DropDownList со статическим asp:ListItems

У меня есть <asp:DropDownList> ведьма, которая заполняется статическими элементами списка.

<asp:DropDownList ... OnDataBound="handlerMethod">
    <asp:ListItem Value="..." Text="..." />
    <asp:ListItem Value="..." Text="..." />
    <asp:ListItem Value="..." Text="..." />
</asp:DropDownList>

Проблема в том, что событие OnDataBound не срабатывает при заполнении списка. Мне нужно, чтобы он запускался для заполнения некоторых других данных из элементов списка, которые находятся в раскрывающемся списке.

В документации говорится:

Этот метод уведомляет серверный элемент управления о завершении любой логики привязки данных, связанной с элементом управления.

Мои глаза прикованы к этому «логическому» слову, которое заставляет меня думать, что я упустил момент, когда запускается событие.

Но если это так, как я могу запустить событие или какое другое событие я могу использовать, чтобы узнать, когда список закончился?


person brb    schedule 08.07.2011    source источник
comment
Вы сказали статический? Вы набираете их в .aspx файле? Если это так, он не будет запущен. Я думаю, что это будет вызвано, когда вы используете метод .Bind.   -  person dpp    schedule 08.07.2011
comment
@domanokz: Да, я печатаю их в формате .aspx.   -  person brb    schedule 08.07.2011


Ответы (1)


Обычно это означает, что вы удалили AutoEventWireup="true" или установили для него значение false, и поэтому это не связывает событие.

Это также может означать, что в javascript что-то не так, что больше не позволяет запускать код. Откройте инспектор (Chrome, Safari или Firebug в Firefox — не полагайтесь на инструменты разработчика IE) и посмотрите, есть ли у вас какие-либо ошибки javascript, которые могут привести к остановке страницы.

Это также может означать, что handlerMethod настроен неправильно. Лучше всего удалить html-часть OnDataBound="handlerMethod" и код этого метода, затем перейти к design view, открыть окно "Свойства" в разделе "События" и дважды щелкните OnDataBound, это добавит событие правильно. Установите там точку останова и запустите в режиме отладки с debug="true" в файле web.config.

person balexandre    schedule 08.07.2011
comment
метод handlerMethod настроен корректно; Я проверил это. Я не очень понимаю ваш первый пункт. Какое отношение к этому имеет JavaScript? - person brb; 08.07.2011
comment
он никогда не позволит вам сделать сообщение! - person balexandre; 08.07.2011