今回はASP.NETのRepeaterコントロール内にあるコントロールにイベントを設定する方法を解説していきます。
ASP.NETのRepeater内のコントロールには、Handlesでのイベント設定ができないようになっています。
そのため、それ以外の方法でコントロールに対してのイベント設定をする必要があります。
Repeater内のコントロールにイベントを設定する方法
通常は、イベントメソッドの引数の後ろに Handles Button.Click というように設定することでイベント設定ができるのですが、
Repeaterコントロール内のコントロールに対してはHandlesでのイベント設定はできません。
Protected Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_Click
'ここに処理を書く
End Sub
そこで、Repeater内のコントロールに対して、以下のようにaspxファイル上でイベントの定義をする必要があります。
(以下の場合だと、Buttonコントロールの"OnClick"プロパティにイベント名を設定します。)
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Button ID="Button" runat="server" OnClick="Button_Click" />
</ItemTemplate>
</asp:Repeater>
次に、上記で設定したイベント名と同様のイベントメソッドを記述すれば、Handlesでイベント設定した時と同じようにイベントの設定が完了します。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'ここに処理を書く
End Sub