2010-02-21 2 views
1

Я забыл упомянуть об этом asp.net 2.0.DropDownList_OnSelectedIndexChanged событие, в UserControl не стреляет в postback

Пользовательский элемент управления имеет уникальный идентификатор и загружается в событие PageLoad. Пользовательский элемент управления загружается в панель, а панель находится внутри веб-части. Выпадающее меню имеет автоповтор, установленный в true.

EnableViewState = true в раскрывающемся списке. Элементы ListItems создаются в методе метода предварительного рендеринга выпадающих списков.

Вот почему я не понимаю, почему он не стреляет, раскрывающееся меню - это единственное, что вызывает обратную связь с этим пользовательским элементом управления.

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

ответ

2

Убедитесь, что нет событий OnLoad или PageLoad, которые переплетают источник данных выпадающего списка. Повторная привязка данных к новому набору данных может привести к тому, что обработчик кликов никогда не будет выполнен.

убедитесь, что у вас есть if (!Page.IsPostBack) вокруг dropdownlist.datasource = и dropdownlist.databind()

+0

Нет, единственное место, где создаются элементы списка, находится в методе PreRender для раскрывающегося списка. Нет привязки данных, я просто создаю новые элементы списка в методе PreRender. – OutOFTouch

+0

Ключ здесь не в том, чтобы добавлять новые элементы или переписывать вообще на PostBack. – Bryan

+0

Я получаю, что повторное добавление элементов уничтожило бы события, если они были сделаны в неправильной точке обработки страниц, я думал, что onSelectedChangedEvent для выпадающего списка будет срабатывать, поскольку, поскольку элементы добавляются в раскрывающийся список, а выпадающий список находится в Пользователь UserControl и пользовательский элемент управления загружаются в Page Load, это может иметь значение? – OutOFTouch

1

Я не уверен, что это ваша проблема, но это наиболее распространенная проблема.

Попробуйте с EnableViewState набор для верно для DropDownList

Если ViewState установлен в false на пост обратно selected Index получает обратно по умолчанию, который обычно является первым Item. Первый элемент, если он выбран, не вызывает SelectedIndexChange событие для запуска

+0

Yep я уже имел, что значение ИСТИНА. – OutOFTouch

Смежные вопросы