zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET Repeater内のコントロールにイベントを設定する

Repeater内のコントロールにイベントを設定する方法を紹介します。

Repeater内のコントロールは以下のようにHandlesでの設定ができません。

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

デザイナ上で定義

以下のように、aspxなどのデザイナでRepeater内のコントロールを定義するところでイベントも定義します。

<asp:Repeater ID="Repeater1" runat="server">
  <ItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" />
  </ItemTemplate>
</asp:Repeater>

上記で設定したイベントと同じ名前のイベント名を定義しておけば、Handlesで指定した時と同じようにイベントが設定されます。

'ファンクション名を同じにする
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

関連記事