<asp:Repeater ID="myRepeater" runat="server" OnItemCommand="myRepeater_ItemCommand" OnItemDataBound="myRepeater_ItemDataBound">
<ItemTemplate>
<asp:Button ID="ButtonDelete" Text="Delete" runat="server"/>
</ItemTemplate>
</asp:Repeater>
public class MyData
{
public int ID { get; set; }
public string Name { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
List<MyData> data = new List<MyData>();
data.Add(new MyData { ID = 1, Name = "Item 1" });
data.Add(new MyData { ID = 5, Name = "Item 2" });
data.Add(new MyData { ID = 123, Name = "Item 3" });
myRepeater.DataSource = data;
myRepeater.DataBind();
}
}
protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
MyData data = (MyData)e.Item.DataItem;
Button ButtonDelete = (Button)e.Item.FindControl("ButtonDelete");
ButtonDelete.CommandName = "Delete";
ButtonDelete.CommandArgument = data.ID.ToString();
}
}
protected void myRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
switch(e.CommandName)
{
case "Delete":
int id = int.Parse(e.CommandArgument.ToString());
break;
}
}