Я думаю, что я знаю, что вы после, код ниже позволит вам удалить элемент из повторителя от нажатия кнопки ссылки.
РЕДАКТИРОВАТЬ: В ответ на комментарий я изменил код, чтобы показать, как передать идентификатор обратно в командное событие.
Измените верхнюю строку на
<asp:Repeater ID="Queue" runat="server" ItemCommand="rpt_ItemCommand">
и следующую строку для вашей кнопки ссылки
<asp:LinkButton id="lbDelete" runat="server" Text="[Delete]" CommandName="delete"></asp:LinkButton>
Затем добавьте следующее в ваш cs
Чтобы получить идентификатор элемента повторителя, вы должны использовать CommandArgument, который задается во время привязки данных.
protected void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
var lbDelete = (LinkButton)e.Item.FindControl("lbDelete");
lbDelete.CommandArgument = retailItem.Id.ToString();
}
}
protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "delete")
{
LinkButton btn = e.CommandSource as LinkButton;
if (btn != null)
{
var itemID = (string)e.CommandArgument;
//Do Stuff
}
}
}
Это будет означать, что теперь вы запускаете это событие в коде, когда вы нажимаете кнопку в повторителе.