У меня есть веб-пользовательский элемент управления ASP.Net, представляющий одну запись в списке. Чтобы позволить пользователям изменять порядок элементов, у каждого элемента есть кнопки для перемещения элемента вверх или вниз по списку. Нажатие на одну из них вызывает событие для родительской страницы, которое затем перетасовывает элементы в элементе управления заполнителем.
Фрагменты кода из записи списка:
Public Event UpClicked As System.EventHandler
Protected Sub btnUp_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles btnUp.Click
RaiseEvent UpClicked(Me, New EventArgs())
End Sub
И родительский контейнер:
rem (within the code to add an individual item to the placeholder)
AddHandler l_oItem.UpClicked, AddressOf UpClicked
Protected Sub UpClicked(ByVal sender As Object, ByVal e As EventArgs)
MoveItem(DirectCast(sender, ScriptListItem), -1)
End Sub
Изначально в тестировании выглядело так же, как и в любое другое время, когда значение отправителя (проверенное его свойствами), которое достигает UpClicked, относится к смежному ListItem, не тому, на которое я только что нажал - первый щелчок всегда неправильно, тогда второй для правильного управления.
В настоящее время тестирование показывает, что событие нажатия кнопки просто игнорируется через раз. Точки останова на событиях щелчка внутри элемента управления просто не достигаются, хотя события определенно устанавливаются.
Почему?