リスト内の単一のエントリを表す 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のものである場合と同様に、最初のクリックは常に間違っています。正しいコントロール。
現在、テストでは、ボタンのクリック イベントが 1 回おきに無視されていることが示されているようです。コントロール内のクリック イベントのブレークポイントはヒットしていませんが、イベントは確実に確立されています。
なんで?