我有一个 ASP.Net Web 用户控件,它代表列表中的单个条目。为了允许用户对项目重新排序,每个项目都有用于在列表中向上或向下移动项目的按钮。单击其中一个会向父页面引发一个事件,然后父页面会随机播放占位符控件中的项目。
列表条目中的代码片段:
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,而不是我刚刚单击的那个 - 第一次点击总是错误的,然后第二次点击正确控制。
目前,测试似乎表明按钮的点击事件每隔一段时间就会被忽略。控件中的单击事件上的断点根本没有被击中,尽管事件肯定正在建立。
为什么?