OnDataBound не запускается для asp: DropDownList со статическим asp: ListItems - PullRequest
1 голос
/ 08 июля 2011

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

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

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

Документация гласит:

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

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

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

1 Ответ

2 голосов
/ 08 июля 2011

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

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

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

...