Я думаю, что у меня та же проблема, что и у вас, но я довольно близок к решению, я просто не знаю, является ли это лучшим решением.
Проблема для меня - время. Пользовательский элемент управления с переопределенным методом CreatChildControls добавляется к элементам управления страницы в CreateChildControls самой веб-части. CCC пользовательского элемента управления не вызывается до тех пор, пока не сработает метод OnPreRender веб-части, как при обратной передаче, так и при обратной передаче.
Как вы можете видеть в жизненном цикле страницы , события обратной передачи запускаются между Load и Render, и если событие не добавляется в элемент управления, или элемент управления не добавляется на страницу до конец загрузки, событие не запускается.
Таким образом, чтобы решить эту проблему, нам нужно каким-то образом заставить метод CreateChildControls пользовательского элемента управления вызываться до конца загрузки, как во время CCC веб-части. Вы не можете вызвать метод вручную: метод защищен и недоступен извне, поэтому я ищу правильный способ сделать это.
Для тестирования я переименовал CCC в пользовательский элемент управления, чтобы сделать его обычным общедоступным методом, и вызвал этот метод из CCC веб-части. Теперь мое событие проходит нормально.
Если это не работает для вас, не могли бы вы опубликовать свой код, чтобы мы могли найти ошибку?