Grazie a tutti, ho fatto con un Repeater, una cavolata alla fine, tranne una cosa, posto il codice:

<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>...</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="mail_label" runat="server" Text="<%# Container.DataItem %>"></asp:Label>
<asp:TextBox ID="mail_note" runat="server"></asp:TextBox></td>
<asp:TextBox ID="mail_mail" runat="server"></asp:TextBox></td>
<asp:Button ID="mail_btn" runat="server" Text="invia mail" CommandName="mail_invia" />
</ItemTemplate>
<FooterTemplate>...</FooterTemplate>
</asp:Repeater>

ora sto tentando di far andare il Button, ho trovato questo ma non va:

Protected Sub Repeater1_ItemCommand(source As Object, e As System.Web.UI.WebControls.RepeaterCommandEventArgs ) Handles Repeater1.ItemCommand

If e.CommandName = "mail_invia" Then
.....
End If
End Sub